Вы не «раскалываете» файл PDF, вы создаете несколько совершенно новых PDF-файлов из исходного PDF. Ghostscript интерпретирует файл PDF, создавая последовательность графических примитивов, а затем устройство pdfwrite повторно собирает эти примитивы в новый выходной файл.
Поскольку вы делаете это, вы также можете применить элементы управления, которые обрабатывают графические примитивы, например шрифтов Подменю, разукрупнение изображений, преобразование цветовых пространств и т.д.
Но файлы вы выводите не являются так же, как и исходный файл. Если вы хотите разбить файл, используйте что-то вроде pdftk или MuPDF, которое делает именно это. Приложения оставят данные нетронутыми и просто выплюнут в новые файлы, Ghostscript не будет.
Теперь, если файл правильно отображается на экране, это NOT поврежден. Возможно, не удастся скопировать и вставить текст, но это ни в коем случае не то же самое.
Наиболее вероятной проблемой является то, что исходный файл PDF содержал текст в шрифте, но не включал CMU ToUnicode, однако он, вероятно, включал весь шрифт или, по меньшей мере, кодировал его чем-то вроде WinAnsiEncoding.
Поставляется с отображением ToUnicode, Acrobat и другими зрителями в состоянии выбрать текст. Если нет ToUnicode, они возвращаются к другим эвристическим методам. Если текст является латинским языком, а шрифт закодирован в латинском кодировании (например, ascii), то копирование и вставка будут работать.
Однако на экране PDFSETTINGS =/есть переключатель для подмножества шрифтов. Как только шрифты являются подмножествами, они больше не имеют кодировки WinAnsi или ASCII. Первый встреченный символ задается символьным кодом 1, второй - кодом 2 и т. Д. Если есть CMP ToUnicode, это не имеет значения, поскольку его все еще можно получить значения Unicode для каждого символа. Однако, если информация о Юникоде отсутствует, то тот факт, что этот текст больше не имеет значений ASCII, будет означать, что вы больше не сможете копировать/вставлять его внятно.
Если вы этого не хотите, то не включайте подмножество шрифтов, конечно это означает, что вам придется прекратить использование -dPDFSETTINGS, но его плохая идея использовать это, так или иначе, IMO, поскольку она устанавливает множество элементов управления все сразу, и большинство людей не имеют представления о том, какие элементы управления они установили или какие последствия.
Спасибо за полный ответ. Оригинальный .pdf-файл имеет кодировку Identity-H.Интересно, есть ли у этого что-то делать. Есть ли другой способ обхода для случаев, когда файл имеет такой тип кодирования? – mariana
Нет ничего общего с кодировкой. Как я уже сказал, это, скорее всего, отсутствие CMU ToUnicode в сочетании с директивой подмножества шрифтов. Если вы не хотите, чтобы это произошло, не подмножайте шрифты. – KenS