Acroread Конвертировать PDF-файл в PostScript Сбой сегментации

У нашего клиента есть сервер Linux (Redhat), который запускает веб-приложения на Java. В последнее время существует требование предоставить PDF-файлы на принтеры для распечатки.

Команда, которую мы используем cat /path/to/pdf_file | acroread -toPostScript | lp -dprintername, Но мы получаем ошибку lp: stdin is empty; so no job has been sent,

Печать обычного файла, такого как / etc / hosts, с помощью этой команды lp -dprintername /etc/hosts работает, и мы можем увидеть распечатку на принтере. lp Команда не проблема.

Я приступил к проверке двух других команд cat /path/to/pdf_file | acroread -toPostScript и я увидел выход Segmentation fault,

Для дальнейшего устранения этой проблемы я использовал команду strace следующим образом cat /pdf_file | strace -f -o /tmp/acroread.$$.trace acroread -toPostScript, Из файла трассировки я видел эти строки до того, как произошла ошибка сегментации.

stat64("/home/oracle/.adobe", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16673 stat64("/home/oracle/.adobe/Acrobat", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16673 stat64("/home/oracle/.adobe/Acrobat/9.0", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16673 stat64("/home/oracle/.adobe/Acrobat/9.0/Temp", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16673 open("/home/oracle/.adobe/Acrobat/9.0/Temp/AdobeTempPS7XwXNz", O_RDWR|O_CREAT|O_EXCL, 0600) = 4
16673 close(4)                          = 0
16673 unlink("/home/oracle/.adobe/Acrobat/9.0/Temp/AdobeTempPS7XwXNz") = 0
16673 open("/home/oracle/.adobe/Acrobat/9.0/Temp/AdobeTempPS7XwXNz", O_RDWR|O_CREAT|O_TRUNC, 0666) = 4
16673 getcwd("/var/spool/mail"..., 1024) = 16
16673 open("/home/oracle/.adobe/Acrobat/9.0/Temp/AdobeTempPS7XwXNz", O_RDONLY) = 5
16673 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
16673 +++ killed by SIGSEGV +++
16720 <... waitpid resumed> 0x3, WNOHANG|WCONTINUED|0x7410) = 0

Когда я сделал листинг каталога /home/oracle/.adobe/Acrobat/9.0/Temp/, все файлы имеют нулевой размер байта.

Итак, мой вопрос: что могло вызвать ошибку сегментации? Это ошибка в этой версии Acrobat Reader?

Установленная версия Acrobat Reader - 9.4.

Версия RedHat - версия 5.7 Red Hat Enterprise Linux Server (Tikanga). Ядром является Linux SCHPOAPS1 2.6.18-274.el5 #1 SMP Пт 8 июля 17:36:59 EDT x86_64 GNU/Linux.

2 ответа

Решение

Мы исправили это, удалив текущую версию Acrobat Reader (версия 9.4) и установив более новую версию (9.5.5).

Я думаю, что это еще одна проблема, когда он хочет открыть файл /home/oracle/.adobe/Acrobat/9.0/Temp/AdobeTempPS7XwXNz дважды.

Вы можете использовать pdf2ps вместо acroread?

Другие вопросы по тегам