2012-05-28 6 views
5

Я использую «pdftops» для преобразования .pdf-файлов в файлы .ps, а затем «ps2pdf» для обратного процесса (poppler-utils). Проблема в том, что при создании файлов .pdf из файлов .ps текст выглядит нормально, но когда я пытаюсь его скопировать, символы очень странные (это похоже на то, что они повреждены). Я использовал эти инструменты для других файлов в течение длительного времени, и он работал нормально. Я также попытался «pdftohtml -xml» создать файл .xml, и текст в порядке (символы были извлечены правильно).Преобразование правильно pdf в ps и наоборот

  1. Какая проблема может быть связана с преобразованием? Может быть, если я использую «pdftops» и «ps2pdf», есть ли какие-то опции, которые нужно изменить?
  2. Если я создаю вывод .xml, есть ли способ создать файл .pdf из .xml-файла?

EDIT: Выход для "pdffonts original.pdf" pdffonts_output_originalpdf

Выход для "roundtripped.pdf" pdffonts_output_roundtrippedpdf

+0

* Какая версия Ghostscript установлена ​​в вашей системе?* –

ответ

4

Я просто покрытие PS-> PDF преобразования ... (Я предполагаю, что ваша фраза наоборот не предназначена для обозначения 'round-trip' конвертация того же файла [PDF-> PS-> PDF], но общее направление преобразования для любой PS файл. Это правильно?)

Прежде всего, скорее всего, ваш ps2pdf - это только shellscript, который внутренне использует команду Ghostscript с некоторыми параметрами по умолчанию для выполнения реальной работы. ps2pdf намного проще в использовании. Ghostscript имеет гораздо больше возможностей, но его труднее изучить. ps2pdf он убирает много возможного контроля, если вы используете Ghostscript. (Вы можете настроить несколько параметров с помощью ps2pdf - но тогда вы уже намного ближе, чтобы запустить настоящую команду Ghostscript уже ...)

Во-вторых, не зная точно, как именно ваш PS-файл подключен, это сложно дать вам хороший совет: Включает ли ваш PS шрифты, которые он использует? Какими шрифтами они являются? и т. д.

В-третьих, Ghostscript получил много дополнительной мощности и контроля, и в течение последних нескольких лет было удалено несколько ошибок или слабых мест, когда дело доходит до вывода PDF. Итак, , которая является версией Ghostscript, установленной в вашей системе? (Помните, что ps2pdf называет Ghostscript, он не будет работать без локально установленной gs исполняемого файла.)

используется Одной из вероятных причин для вашей неспособности скопировать текст из PDF может быть типом шрифта (и кодирование), что в конечном итоге и встроен в ваш файл PDF. Какие сведения о шрифте вы можете рассказать нам о ваших итоговых PDF-файлах? (Попробуйте pdffonts your.pdf выяснить - pdffonts также часть Poppler Utils вы упомянули.)

Вы можете попробовать это (полную) команду Ghostscript для преобразования> PS-PDF и проверить, где она принимает вас:

gs \ 
    -o output.pdf \ 
    -sDEVICE=pdfwrite \ 
    -dPDFSETTINGS=/prepress \ 
    -dHaveTrueTypes=true \ 
    -dEmbedAllFonts=true \ 
    -dSubsetFonts=false \ 
    -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" \ 
    -f input.ps 
+0

Для первого вопроса: я попробовал конверсию туда и обратно для того же файла: PDF-> PS-> PDF и я получили отрицательные результаты: текст отображается правильно, но когда я пытаюсь его скопировать, я получаю поврежденные символы. Я также попробовал команду «gs», и я получил те же результаты. –

+0

@ ice13ill: А как насчет других вопросов? Попробуйте 'pdffonts original.pdf' +' pdffonts roundtripped.pdf' и сообщите о результатах. –

+0

Я отредактировал мой оригинальный вопрос. –