У меня есть документ PDF (не зашифрованный) с редактируемыми полями формы. Однако шрифт для этих полей поврежден: в нем отсутствуют некоторые глифы, поэтому при вводе текста появляются пробелы.
Как я могу изменить документ PDF - у меня нет доступа к исходному документу, который использовался для его создания - чтобы заменить другой шрифт вместо сломанного ?
Рассматриваемый шрифт - это Caliban Regular от Adobe , который я вижу в документе. Глифы, которые отображаются пустыми, включают «i», «T», «V»; возможно, другие, которых я не обнаружил.
У меня также есть другой подобный документ, использующий Caliban, который действительно отображает правильно, включая глифы, которые перечислены выше как сломанные. Если кто-то может сказать мне, как взять шрифт из одного PDF и заменить его в существующий PDF , это было бы решением.
В настоящее время я использую:
- Debian GNU + Linux
- Evince (и я тоже пробовал Okular ) для просмотра
- Библиотека Poppler для рендеринга PDF
- Emacs (или любой текстовый редактор) для редактирования кода PDF
- pdftk и OpenOffice.org установлены, если это поможет
Я был бы заинтересован в других бесплатных программных средствах редактирования PDF ( будь то нулевая цена или нет ), если они помогут с этой задачей.
Ответы:
Очень сложно заменить шрифт, встроенный в PDF. Я не знаю ни о каком программном обеспечении free-as-in-speech (под лицензией GPL) или free-as-in-beer (gratis), которое могло бы это сделать (сначала вытащив шрифт, а затем заново вставив шрифт sustitute). Я знаю только о двух коммерческих продуктах, которые делают это: callassoftware.com's pdfToolbox4 и Enfocus ' PitStop (конечно, есть и другие, но я не знаю их, и эти два лидера рынка здесь).
Вот способ извлечь встроенный шрифт из PDF с помощью свободного программного обеспечения. Имейте в виду, что вам разрешено делать это только по закону, если лицензия шрифта не запрещает этого. В хранилище исходного кода Ghostscript находится программная утилита PostScript,
extractFonts.ps
которая может помочь здесь:Выполните следующую команду в окне DOS (cmd.exe):
(Имейте в виду, что извлечение шрифтов здесь означает не удаление шрифтов из PDF, а создание файлов шрифтов, которые являются копиями файлов, встроенных в PDF.)
Вот еще один строительный блок, который может способствовать достижению того, чего вы хотите. Возможно, вы захотите распаковать все сжатые части / потоки вашего PDF, чтобы вам было легче редактировать файл с помощью простого текстового редактора. (Предупреждение: редактирование PDF-файлов не является простой и понятной задачей - ваши усилия по редактированию потребуют довольно значительного ноу-хау и умения разбираться во внутренних форматах файлов PDF.)
Этот прием также использует утилиту из
toolbin
подкаталога Ghostscript Subversion .Выполните следующую команду в окне DOS (cmd.exe):
Эта команда попытается распаковать все «сжатые» потоки. (Если вам не повезло, ваш файл также будет содержать потоки, использующие другие методы сжатия (например, «zip» ), которые не будут изменены этой командой.)
источник