Склейка PDF с помощью Ghostscript

1. himera_green 24.07.24 07:15 Сейчас в теме
Добрый день! Коллеги, нужна помощь по работе с файлами pdf из 1С.
Есть задача по склейке нескольких файлов пдф в один файл из 1С. Решила попробовать воспользоваться Ghostscript, и для обычных файлов это даже сработало, но проблема возникла с подписанными ЭЦП файлами (сохраненные в архив УПД, Акты сверки), при попытке хоть что-то с ними сделать, вылетает ошибка (прикрепила скрин с ошибкой).
Похоже, что ghostscript отказывается читать такие файлы. Пыталась ради эксперимента прописать команду преобразования пдф в пнг через скрипт, но тоже ошибка.
По темам использования ghostscript не нашла какого-то упоминания для взаимодействия с подписанными файлами. Вот и не пойму, то ли это считается само собой разумеющимся, что с подписанными файлами уже ничего нельзя сделать, то ли просто неправильно ищу. Есть ли какая-то возможность что-то сделать с файлами с прикрепленной подписью?

Команда, кт использую для склейки:C:\Program Files\gs\gs10.03.1\bin\gswin64.exe -dBATCH -sPAPERSIZE=a4 -dPDFFitPage -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile="E:\test3.pdf" "C:\Users\11\AppData\Local\Temp\1.pdf" "C:\Users\11\AppData\Local\Temp\2.pdf"
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. himera_green 29.07.24 13:00 Сейчас в теме
Похоже, нашла выход, сделала то же самое, но через другое устройство вывода (pdfimage24), оно обрабатывает подписанные пдф без ошибок, в итоге сработала такая команда:
C:\Program Files\gs\gs10.03.1\bin\gswin64.exe -dBATCH -dNOPAUSE -dSAFER -sDEVICE=pdfimage24 -r600 -dDownScaleFactor=3 -sOutputFile="E:\test3.pdf" "C:\Users\11\AppData\Local\Temp\1.pdf" "C:\Users\11\AppData\Local\Temp\2.pdf"

На выходе объединенный файл пдф, включающий штамп подписи из исходника (как после виртуального принтера)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. garlev 26.07.24 17:20 Сейчас в теме
Добрый день!
Похоже, гостскрипт плохо воспринимает .pdf собранный из 1С. Деталей не знаю, НО знаю решение.
У меня гостскрипт не печатал печатные формы из 1С, сформировал PDF через "Печать" из 1С - Microsoft PrintToPDF - в таком виде работает.
3. himera_green 29.07.24 06:20 Сейчас в теме
(2)
Спасибо за ответ) А не поделитесь, как программно вызывали печать через Microsoft PrintToPDF? У меня исходники, кт требуют склейки - это сами файлы в пдф (то есть, они не из 1С сделаны были, а сохранены из Диадока), была мысль попробовать прогнать их через виртуальный принтер, чтобы получить типа не подписанные файлы, а файлы пдф с визуализированной ЭЦП, но не разобралась, как вызвать в коде сохранение через печать на виртуальном принтере.
4. himera_green 29.07.24 13:00 Сейчас в теме
Похоже, нашла выход, сделала то же самое, но через другое устройство вывода (pdfimage24), оно обрабатывает подписанные пдф без ошибок, в итоге сработала такая команда:
C:\Program Files\gs\gs10.03.1\bin\gswin64.exe -dBATCH -dNOPAUSE -dSAFER -sDEVICE=pdfimage24 -r600 -dDownScaleFactor=3 -sOutputFile="E:\test3.pdf" "C:\Users\11\AppData\Local\Temp\1.pdf" "C:\Users\11\AppData\Local\Temp\2.pdf"

На выходе объединенный файл пдф, включающий штамп подписи из исходника (как после виртуального принтера)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот