Замена шрифта в документе PDF

У меня есть PDF-документ (не зашифрованный) с редактируемыми полями формы. Однако шрифт для этих полей сломан: в нем отсутствуют некоторые глифы, поэтому при вводе текста появляются пробелы.

Как я могу изменить PDF документ - у меня нет доступа к исходному документу, использованному для его создания-to замените другой шрифт на сломанный?

шрифт в вопросе Adobe Калибан Регулярные, который я вижу встроенный в документе. Глифы, которые отображают пустые, включают "i", "T", "V"; возможно, другие, которые я не обнаружил.

У меня также есть другой аналогичный документ с использованием Caliban, который тут дисплей правильно включая глифы, которые перечислены выше, как сломанные. Если кто-то может сказать мне как взять шрифт из одного PDF и заменить его в существующий PDF, это было бы решением.

Я в настоящее время использование:

  • Debian GNU+Linux
  • Evince (и я тоже пробовал Okular) для просмотра
  • на Poppler библиотека для рендеринга PDF
  • Emacs (или любой текстовый редактор) для редактирования кода PDF
  • pdftk и OpenOffice.org установлен, если это помогает

Я был бы заинтересован в другом бесплатные программы инструменты редактирования PDF (ли нулевая цена или нет), если они помогут с данной задачей.

5
задан bignose
источник

1 ответов

крайне сложно заменить шрифт, встроенный в PDF. Я не знаю ни одного бесплатного программного обеспечения (GPL-licensed) или бесплатного (free-as-in-beer), которое могло бы наверное сделать это (путем отмены встраивания шрифта, а затем повторно внедрить шрифт sustitute). Я знаю только два коммерческих продукта, которые это делают: callassoftware.com s pdfToolbox4 и Enfocus' PitStop (конечно, есть и другие, но я не знаю из них и эти двое здесь лидеры рынка).

вот способ извлечь встроенный шрифт из PDF с помощью бесплатного программного обеспечения. Имейте в виду, что это разрешено законом, только если лицензия шрифта не запрещает этого. В репозитории исходного кода Ghostscript живет утилита PostScript с именем extractFonts.ps что может помочь здесь:

  1. Установить Ghostscript. Использовать последнюю версию, 8.71.
  2. Скачать файл http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
  3. вы можете прочитать комментарии, содержащиеся в загруженном файле.
  4. выполните следующую команду в окне DOS (cmd.exe):

    gswin32c.exe ^
        -q ^
        -dNODISPLAY ^
        C:/path/to/extractFonts.ps ^
        -c "(c:/path/to/your-pdf-file.pdf) extractFonts quit"
    
  5. обратите внимание на любые предупреждения или сообщения об ошибках, которые может выдать команда.
  6. успешно извлеченные шрифты теперь будут храниться в текущем каталоге, используя то же имя, что и в документ PDF.

(имейте в виду, что извлечение шрифты здесь не имею в виду удаление шрифты из PDF, но для создания файлов шрифтов, которые являются копиями встроенных в PDF.)


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

этот трюк также использует утилиту от Ghostscript Subversion toolbin поддиректорию.

  1. Скачать файл http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
  2. вы можете прочитать комментарии в скачанном папка.
  3. выполните следующую команду в окне DOS (cmd.exe):

    gswin32c.exe ^
         -- ^
         c:/path/to/pdfinflt.ps ^
         c:/path/to/your-pdf-file.pdf ^
         c:/path/to/your-pdf-file-decompressed.pdf
    

эта команда попытается распаковать все 'flate'-сжатых потоков. (Если вам не повезет, ваш файл также будет содержать потоки с использованием других методов сжатия (например,'zip'), которая останется неизменной по этой команде.)

4
отвечен Kurt Pfeifle 2010-07-27 11:07:26
источник

Другие вопросы editing fonts pdf