Вопрос или проблема
У cups-pdf есть известная проблема: текст не может быть найден или скопирован из сгенерированных PDF файлов. Я думаю, что использование правильного PS драйвера должно решить эту проблему. Я так считаю, потому что заметил, что cups-pdf может создать правильный PDF файл, если распечатать правильный ps файл. Я провел следующий тест.
Я создал принтер cups-pdf
lpadmin -p p1 -v cups-pdf:/p1 -E -P /usr/share/ppd/cups-pdf/CUPS-PDF_opt.ppd
Существует текстовый файл testPage.txt. Я конвертировал его в ps файлы тремя способами.
enscript testPage.txt -o testPage_enscript.ps
a2ps testPage.txt -o testPage_a2ps.ps
lpadmin -p ps -v file:///cups/prints/testPage_psprinter.ps -E -m drv:///sample.drv/generic.ppd
lp -d ps testPage.txt
Я распечатал все 3 ps файла на принтере cups-pdf.
lp -d p1 testPage_enscript.ps
lp -d p1 testPage_a2ps.ps
lp -d p1 testPage_psprinter.ps
testPage_enscript.ps и testPage_a2ps.ps были распечатаны правильно, текст можно искать и копировать. Только testPage_psprinter.ps был распечатан в недействительный PDF файл, текст не может быть найден и не может быть скопирован.
Насколько я понимаю, cups-pdf является PostScript принтером. Любой клиент, который что-то печатает на принтере, использует драйвер принтера. В случае cups-pdf драйвер преобразует любой документ в постскрипт, а затем cups-pdf преобразует постскрипт в PDF. Я прав? Похоже, что ключ к решению проблемы заключается в использовании правильного PS драйвера. Я проверил следующие драйверы без успеха.
- Универсальный PostScript Level 1 Printer Foomatic/Postscript1 (рекомендуется) (цвет, двусторонняя печать)
- Универсальный PostScript Printer Foomatic/Postscript (рекомендуется) (цвет, двусторонняя печать)
- HP LaserJet 9000 Series Postscript (рекомендуется) (черно-белый)
Существует ли какой-либо PS драйвер, который правильно работает с cups-pdf?
Ответ или решение
Ответ на ваш вопрос о драйверах PS, которые можно использовать с cups-pdf, касается нескольких аспектов. Вы правильно заметили, что cups-pdf обрабатывает файлы, создавая PDF-документы из PostScript (PS) форматов. Если текст в сгенерированных PDF-файлах не является искомым или копируемым, это может быть связано с используемым драйвером.
На основании вашего теста, можно сделать вывод, что не все драйвера PostScript генерируют корректный PS-файл для cups-pdf, что влияет на конечный PDF-документ. Вы попробовали несколько драйверов без успеха, и это может означать, что необходимо выбрать более подходящий драйвер.
Вам стоит рассмотреть использование более специализированных драйверов, которые способны создавать качественные PS-файлы. Например, следующие драйвера заслуживают внимания:
-
Ghostscript – это мощный инструмент, который может быть использован для создания PS-файлов. Вы можете использовать его для преобразования ваших текстовых файлов в PS-файлы и затем печатать их на cups-pdf:
gs -dNOPAUSE -dBATCH -sDEVICE=ps2write -sOutputFile=testPage_ghostscript.ps testPage.txt lp -d p1 testPage_ghostscript.ps
-
HP Color LaserJet (или любые другие драйвера HP) – часто эти драйвера используют возможности более высокого уровня PostScript и могут дать лучший результат. Попробуйте:
lpadmin -p p1 -v cups-pdf:/p1 -E -P /usr/share/cups/model/hp-laserjet.ppd
-
PostScript Printer (Generic) – кроме того, вы можете попробовать установить для вашего cups-pdf принтера Generic PostScript Printer, и в случае, если вы еще этого не сделали, проконсультируйтесь с опциями:
lpadmin -p p1 -v cups-pdf:/p1 -E -P /usr/share/cups/model/generic.ppd
-
Собственные характеристики (например, тип устройства) – иногда качество итогового PDF-файла может зависеть от параметров устройства, указанных в PPD файле. Убедитесь, что используете настройки, оптимизированные для текстовой печати, а не для изображений.
Также полезно проверить настройки конфигурации cups-pdf, чтобы убедиться, что они оптимально настроены для создания читаемых PDF-файлов. Например, в файле конфигурации cups-pdf (обычно находится в /etc/cups/cups-pdf.conf
), стоит актуализировать параметры, которые могут повлиять на итоговое качество.
Наконец, всегда полезно просматривать логи CUPS для выявления возможных предупреждений или ошибок, которые могут указать на проблемы при обработке.
Пробуя различные варианты драйверов и конфигураций, вы сможете найти оптимальное решение для своей задачи, обеспечивающее генерируемым PDF текстовую читаемость и копируемость.