На моем ноутбуке Lenovo T500 под управлением Ubuntu Natty с 2 ГБ ОЗУ и использованием GhostPDL 9.02 потребовалось 2,3 секунды для преобразования предоставленного Microsoft 38-страничного XPS (ExchangeServer2007_ AdminComp_chapter_02.xps) в идеальный PDF-документ:
time gxps \
-dDEBUG \
-o ExchangeServer2007_AdminComp_chapter_02.xps.gxps.pdf \
-sDEVICE=pdfwrite \
ExchangeServer2007_AdminComp_chapter_02.xps
real 0m2.213s
user 0m1.852s
sys 0m0.200s
Однако я думаю, что gxps (команда GhostPDL, которая может конвертировать XPS в PDF, в настоящее время не предоставляет никаких стандартных средств, чтобы сделать ее более болтливой на стандартном выходе - даже -dDEBUG не работает)...
Обновление: я не знаком ни с каким другим инструментом, который может напрямую преобразовывать XPS в PDF, но я знаю, что их много. Возможно, вам повезет больше, если вы обратитесь к результатам поиска Google.
Конечно, вы всегда можете распечатать XPS на «PDF-принтере». Есть разные способы сделать это в командной строке, что может дать вам некоторую информацию о прогрессе.
Если вы заранее знаете, сколько страниц вам нужно преобразовать, то (дерьмовым) обходным путем с GhostPDL может быть преобразование файла по частям с использованием конструкции типа -dFirstPage=1 -dLastPage=10 и информирование пользователя о том, что в настоящее время страницы 1-10 отсутствуют. NNN обрабатываются.
Обновление 2. Вот способ получения отзыва о стандартном выводе по мере обработки каждой страницы:
time gxps \
'-Z|' \
-o ExchangeServer2007_AdminComp_chapter_02.xps.gxps.pdf \
-sDEVICE=pdfwrite \
ExchangeServer2007_AdminComp_chapter_02.xps
Обратите внимание на одинарные кавычки ' вокруг -Z|. Второй символ – это знак труба, а не заглавная i... Результат:
start part /FixedDocumentSequence.fdseq
fixdoc /Documents/1/FixedDocument.fdoc
page /Documents/1/Pages/1.fpage w=0 h=0
page /Documents/1/Pages/2.fpage w=0 h=0
page /Documents/1/Pages/3.fpage w=0 h=0
[....]
page /Documents/1/Pages/37.fpage w=0 h=0
page /Documents/1/Pages/38.fpage w=0 h=0
Спасибо разработчику Ghostscript Тору Андерсону, который дал мне решающую подсказку в IRC-канале #ghostscript на Freenode.
person
Kurt Pfeifle
schedule
18.06.2011