2014-01-13 3 views
0

Мне нужно создавать около 100 000 счетов каждый квартал. В настоящее время у меня есть шаблон SVG-файла, в котором я нахожу & замену текста в PHP для создания нового файла. Это дает мне желаемый результат, но я также должен отправить эти файлы для печати в формате PDF. Поэтому после преобразования в SVG мне нужно снова преобразовать все файлы в PDF &, затем объединить их в PDF-файлы, имеющие по 1000 страниц каждый, используя pdftk.Объединение/слияние 1000 SVG для создания PDF для печати

Идеальный сценарий состоит в том, чтобы создавать PDF-файлы непосредственно путем текстового поиска. & замена в одном файле формата pdf (чтобы избежать накладных расходов на создание каждого файла с нуля), но я понятия не имею, как это сделать, поскольку текст в формате PDF закодирован & Я также не могу найти способ создания PDF без встраивания шрифтов, он излишне увеличивает размер файла.

Альтернативно, если бы я мог напрямую присоединяться к SVG в один большой PDF-файл (комбинация из 1000 SVG) без предварительного преобразования каждого из них в PDF, это тоже сработало.

Имейте в виду, что все текстовые поля выровнены в соответствии с их соответствующей позицией в формате счета. Таким образом, все преобразования/слияние должны быть точными. & текст не должен перемещаться.

Все операции выполняются на безжизненном сервере linux, поэтому CLI, пожалуйста.

Просьба помочь.

ответ

0

SVG - формат документа на одной странице. Таким образом, не было бы способа создать многостраничный SVG, который можно было бы преобразовать в многостраничный PDF. Если это то, что вы имели в виду.

Что вы пытаетесь сделать, обычно называют «слиянием почты». Если вы google "mail merge PDF", вы получите множество возможных решений. Лучший для вас будет зависеть от вашей ОС и базы данных.

+0

Я искал это, не смог найти решения, дружелюбные к CLI, оперативные и легкие. Тем не менее, я обнаружил такие вещи, как FDF с интерактивным PDF & mail слиянием через open-office с PHP. Решение Guido, указанное выше, слишком тяжело для реализации. Кроме того, я согласен, что это альтернативные решения, но на самом деле не лучше, чем создание SVG. Поскольку он легкий, простой в использовании, и SVG могут использоваться для просмотра счетов онлайн в браузере, без необходимости в дополнительном кодировании. Итак, я думаю, теперь мой вопрос: как распечатать каталог, содержащий 100 000 SVG? – Xaq

+0

Какую ОС вы используете? Вот Linux-решение http://unix.stackexchange.com/questions/11973/print-an-svg-from-the-commandline и некоторые идеи по Windows здесь http://www.inkscapeforum.com/viewtopic. php? f = 5 & t = 848 Обе страницы, найденные в googling «пакетная печать SVG». –

+0

Привет, Спасибо, что искали. Я использую сервер Ubuntu linux 10.04. Лучшее решение на странице, о которой вы упомянули выше, конвертирует SVG в PDF с использованием inkscape CLI, я уже делаю это только. Сначала я создаю SVG, затем конвертирую каждый из них в PDF и затем объединяю PDF-файлы в группы по 1000 для отправки для печати. Я искал обход преобразования в часть PDF. Так что после генерации SVG я могу как-то поместить 1000 SVG в какой-то контейнер, который подходит для печати. – Xaq

0

Основываясь на ваших точных необходимых функциях для этого тома (я предполагаю, что это объем 100 000 за один раз в квартал). Я рекомендую использовать инструмент создания отчетов. Это можно сделать с помощью инструментов, поставляемых с вашей средой разработки, такой как Oracle Developer или дополнительные инструменты.

Я чаще всего использую JasperReports/iReports, который является бесплатным продуктом для объемов, превышающих 10 тыс. Страниц за один проход. Работает на сервлете или отдельно, используя «java» из командной строки. Создание 10K или более страниц в Word слишком громоздко даже с дополнительными надстройками. Являясь инструментом описания страниц, местоположения не перемещаются, и вы можете включить штрих-коды или инструкции для оплаты в специальных шрифтах. Мы используем редакцию iReports LGPL для нашего программного обеспечения для управления проектами, для примера отчетов см. http://www.invantive.com/en/demo/web/bubs_pjt_all.html, а затем нажмите «Администрирование» -> «Аудит» для an output sample. В нашем программном обеспечении мы добавили несколько классов, чтобы сделать его более эффективным, а также необходимо добавить планировщика для многократного создания вывода, такого как счета-фактуры и их распространения. Он не включает планировщик сам по себе.

Он также поддерживает другие форматы вывода, такие как Excel, PowerPoint, XML, OpenOffice и другие. Вы можете добавить дополнительные параметры рендеринга самостоятельно. Он может питаться от большинства реляционных источников данных, а также от различных объектно-ориентированных форматов.

Время выполнения варьируется, но при правильной настройке возможно 10-100 страниц в секунду.

Замена в PDF - это, я думаю, плохой план; PDF не был разработан с учетом редактирования. Хотя это возможно. Если вы хотите сделать замену в формате печати, вы также можете использовать PostScript и скрипт для замены заполнителей.