У меня есть документы PowerPoint, которые я контролирую версиями с git. Я хочу знать, какие различия между версиями файла. Текст наиболее важен, изображения и форматирование не так много (по крайней мере, на данный момент).Возможно ли установить версию PowerPoint с контролем git?
ответ
Я написал это для использования с мерзавцем в командной строке (требуется Python и библиотеки Python-PPTX):
"""
Setup -- Add these lines to the following files:
--- .gitattributes
*.pptx diff=pptx
--- .gitconfig (or repo\.git\config or your_user_home\.gitconfig) (change the path to point to your local copy of the script)
[diff "pptx"]
binary = true
textconv = python C:/Python27/Scripts/git-pptx-textconv.py
usage:
git diff your_powerpoint.pptx
Thanks to the python-pptx docs and this snippet:
http://python-pptx.readthedocs.org/en/latest/user/quickstart.html#extract-all-text-from-slides-in-presentation
"""
import sys
from pptx import Presentation
if __name__ == '__main__':
if len(sys.argv) != 2:
print "Usage: git-pptx-textconv file.xslx"
path_to_presentation = sys.argv[1]
prs = Presentation(path_to_presentation)
for slide in prs.slides:
for shape in slide.shapes:
if not shape.has_text_frame:
continue
for paragraph in shape.text_frame.paragraphs:
par_text = ''
for run in paragraph.runs:
s = run.text
s = s.replace(r"\\", "\\\\")
s = s.replace(r"\n", " ")
s = s.replace(r"\r", " ")
s = s.replace(r"\t", " ")
s = s.rstrip('\r\n')
# Convert left and right-hand quotes from Unicode to ASCII
# found http://stackoverflow.com/questions/816285/where-is-pythons-best-ascii-for-this-unicode-database
# go here if more power is needed http://code.activestate.com/recipes/251871/
# or here https://pypi.python.org/pypi/Unidecode/0.04.1
punctuation = { 0x2018:0x27, 0x2019:0x27, 0x201C:0x22, 0x201D:0x22 }
s.translate(punctuation).encode('ascii', 'ignore')
s = s.encode('utf-8')
if s:
par_text += s
print par_text
Не совсем. Файл PowerPoint по существу является архивом (zip) из папки, полной файлов. Git будет рассматривать его как двоичный файл (потому что это так).
Возможно, для этого есть стороннее расширение, но я никогда не слышал об этом.
я не смог установить python-pptx, как это было предложено принято отвечать, поэтому я искал решение node.js (которое также может работать для нескольких других форматов файлов, которые он может обрабатывать).
Установить https://github.com/dbashford/textract (npm install --global textract
).
Определить, как diff "textract"
в вашем .git config. Для моей машины Windows,
[diff "textract"]
binary = true
textconv=textract.cmd
Определить в файле .gitattributes
, что *.pptx
следует использовать diff "textract"
*.pptx diff=textract
git diff
счастливо.
Я не могу говорить напрямую с git, поскольку мы используем Visual Studio + TFS на работе. Однако некоторые исследования показывают, что это должно сработать. То, что я делаю на VS, - это интегрировать WinMerge и его плагин, который поддерживает текстовое сравнение файлов MS Office и PDF. Это позволяет мне делать различия между файлами pptx, docx, pdf и т. Д., Опубликованными для контроля версий.
Для мерзавца, так оно и должно работать это:
1) Получить WinMerge с xdocdiff плагин: http://freemind.s57.xrea.com/xdocdiffPlugin/en/index.html 2) Интегрировать WinMerge с мерзавцем: https://coderwall.com/p/76wmzq/winmerge-as-git-difftool-on-windows
Надеемся, что это позволит вам увидеть текст для вашего PowerPoint.
- 1. Возможно ли установить версию ECMAScript в узле?
- 2. Установить новую версию git?
- 3. Определить версию PowerPoint
- 4. Возможно ли установить доступный каталог хранения Git?
- 5. Api.ai с контролем версий (git)
- 6. Возможно ли установить git в localhost xampp?
- 7. Определить, находится ли каталог под контролем git
- 8. Возможно ли установить последнюю совместимую версию в магазине приложений?
- 9. Возможно ли установить последнюю версию HttpPlatformHandler в Azure App Service?
- 10. Возможно ли установить имя/версию модуля Powershell без использования манифеста?
- 11. Возможно ли установить версию сервера Oracle 11g на Windows 7?
- 12. Использование Qt Creator с контролем версий Git
- 13. Возможно ли установить два удаленных URL-адреса для репозитория git?
- 14. Возможно ли установить конфигурацию Git для всех пользователей в системе?
- 15. Возможно ли перезаписать git-крючок?
- 16. Возможно ли работать с git в UMLdesigner?
- 17. Возможно ли, чтобы UIImagePickerController.cameraOverlay UIView оставался под контролем камеры?
- 18. Vagrant + Chef + apt: Возможно ли установить определенную версию пакета deb на Ubuntu VM?
- 19. Как установить последнюю версию git с помощью apt-get?
- 20. Возможно ли установить EPD с системой ia64?
- 21. Как написать C++ версию функции PowerPoint Python
- 22. нюансы между другим контролем версий и GIT
- 23. Возможно ли получить версию общего объекта?
- 24. Возможно ли заставить версию зависимого драгоценного камня?
- 25. Возможно ли получить версию Windows из JQuery
- 26. Возможно ли использовать управление источником GIT и TFS.
- 27. Установить конкретную версию dnx
- 28. Возможно ли установить две версии redis?
- 29. Возможно ли установить профиль подготовки без iTunes?
- 30. Powerpoint нельзя открыть, указав версию C#