Объединить / объединить 1000 SVG для создания PDF для печати
Мне нужно генерировать около 100 000 счетов каждый квартал. В настоящее время у меня есть шаблон SVG-файла, в котором я нахожу и заменяю текст в PHP для создания нового файла. Это дает мне желаемый результат, но я также должен отправить эти файлы на печать в формате PDF. Поэтому после преобразования в SVG мне нужно снова преобразовать все файлы в PDF, а затем объединить их в PDF-файлы по 1000 страниц каждый, используя pdftk.
Идеальным сценарием было бы создание PDF-файлов напрямую с помощью текстового поиска и замены в одном файле шаблона PDF (чтобы избежать накладных расходов на создание каждого файла с нуля), но я понятия не имею, как это сделать, так как текст в PDF кодируется, и я также могу Не удается найти PDF-файл без встраивания шрифтов, это излишне увеличивает размер файла.
С другой стороны, если бы я мог напрямую соединять SVG в один большой файл PDF (комбинация из 1000 SVG) без предварительного преобразования каждого из них в PDF, это тоже сработало бы.
Пожалуйста, имейте в виду, что все текстовые поля выровнены согласно их соответствующей позиции в формате счета. Поэтому все преобразования / слияния должны быть точными, а текст не должен двигаться.
Все операции выполняются на автономном сервере Linux, поэтому, пожалуйста, CLI.
Пожалуйста, помогите.
2 ответа
Исходя из ваших точных необходимых функций для этого тома (я предполагаю, что это объем 100000 за один раз в квартал), я рекомендую использовать инструмент создания отчетов. Это можно сделать с помощью инструментов, поставляемых с вашей средой разработки, таких как Oracle Developer или дополнительных инструментов.
Я чаще всего использую JasperReports / iReports, который является бесплатным продуктом для объемов, превышающих 10 000 страниц за ход. Запускается на движке сервлета или отделяется с помощью "java" от командной строки. Создание 10K или более страниц в Word слишком громоздко даже с дополнительными надстройками. Будучи инструментом описания страниц, местоположения не перемещаются, и вы также можете включать штрих-коды или инструкции по оплате в специальных шрифтах. Мы используем редакцию LGPL iReports для нашего программного обеспечения для управления проектами, пример отчетов см. По http://www.invantive.com/en/demo/web/bubs_pjt_all.html а затем нажмите "Администрирование" -> "Аудит" для выходного образца. В нашем программном обеспечении мы добавили несколько классов, чтобы улучшить его работу, а также нам нужно было добавить планировщик, чтобы многократно генерировать выходные данные, такие как счета-фактуры, и распространять их. Сам по себе планировщик не включает.
Он также поддерживает другие форматы вывода, такие как Excel, PowerPoint, XML, OpenOffice и другие. Вы можете добавить больше вариантов рендеринга самостоятельно. Он может подаваться из большинства реляционных источников данных, а также из различных объектно-ориентированных форматов.
Время выполнения варьируется, но при правильной разработке возможно выполнение 10-100 страниц в секунду.
Замена в PDF, я думаю, плохой план; PDF не был разработан с учетом редактирования. Хотя это возможно. Если вы хотите выполнить замену в формате печати, вы также можете рассмотреть возможность использования PostScript и сценария для замены заполнителей.
SVG - это одностраничный формат документа. Таким образом, не было бы возможности создать многостраничный SVG, который можно было бы преобразовать в многостраничный PDF. Если это то, что вы имели в виду.
То, что вы пытаетесь сделать, обычно называют "слиянием почты". Если вы воспользуетесь Google "mail merge PDF", вы получите множество возможных решений. Лучший для вас будет зависеть от вашей ОС и базы данных.