2015-10-22 10 views
0

текстовых используя Ghostscript I, а 9,18 для окон, и пытаемся извлечь текст сформировать файл в формате PDF с использованием -sDEVICE = txtwrite Моей команды выглядит следующим образом:Ghostscript PDF для извлечения

gswin32c -dBATCH -dNOPAUSE -sDEVICE=txtwrite -dFirstPage=1 -dLastPage=1 -sOutputFile=test.txt test.pdf -c quit 

Но я получаю всегда " не можете найти CID для «ArialBlack» Я пытался поставить РТВ, написав в FONTMAP файлы:

/Arial << /FileType /TrueType /Path (c:\windows\fonts\arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ; 
/ArialBlack << /FileType /TrueType /Path (c:\windows\fonts\arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ; 

Но это, кажется, не видит записи и до сих пор просит для ИДС я знаю несколько версий. назад, карта шрифта была всего лишь одним файлом, но разработчики переместили ее в библиотеку. Когда я использую -sDEVICE = png16m, он может нормально читать pdf и печатать BMP с хорошими символами.

Возможно, кто-то знает anwser?

+0

Это было бы разумно, потому что OpenType с данными TTF с именем .ttf, не имеет * CID (только устаревший Type1 и современные шрифты OpenType с CFF-данными, может использовать CID), так что это не удивительно. Быстрый google для сообщения об ошибке, которое вы даете в своем вопросе, дает мне http://www.experts-exchange.com/OS/Linux/Distributions/Q_26364031.html, в котором говорится, что вам необходимо установить http://corefonts.sourceforge.net - Вы сначала искали в Интернете? Существует достаточно хитов, чтобы [сделать это ненужным] (http://stackoverflow.com/help/how-to-ask), чтобы задать этот вопрос здесь. –

+0

Это не совсем так. Ни шрифт 1-го типа, ни CFF (шрифт типа 2) не используют CID, они используют коды символов. CID имеют отношение только к CIDFonts. CIDFonts могут иметь шрифты типа 1 или CFF bsae, но они также могут иметь базовые шрифты типа 42, которые, по сути, являются контурами TrueType. Таким образом, CIDFont с контуром TTF все еще может использовать CID. – KenS

ответ

0

По умолчанию для версии Ghostscript для Windows в течение некоторого времени были включены файлы поддержки в файловой системе ROM, то есть как часть исполняемого файла.

Вы можете получить файлы поддержки из нашего репозитория Git, если вам нужно добавить их извне на диск (т. Е. Вы хотите их изменить).

Файлы fontmap и CIDFmap могут быть включены с помощью переключателя -I (include path).

Обратите внимание, что CID не совпадает с CIDFont. CIDFOnt использует CID, это не «CID», здесь важна терминология. Мне кажется, что Ghostscript говорит вам, что не может найти CIDFont, а не CID.

Похоже, что ваш файл PDF использует CIDFont, но не вставляет его, очень плохая практика, которая, вероятно, приводит к проблемам с отображением. В случае txtwrite это, скорее всего, сделает невозможным полезное извлечение текста.

+0

Ты совершенно прав, вот почему я пытаюсь включить и разбираю его. Я попробую, спасибо. – Ryuumaru