2015-04-30 2 views
1

Я пытаюсь использовать Batik сделать следующую задачу:батика преобразующих два SVG в один PDF

У меня есть несколько набора SVGs graphs, мне нужно создать один .PDF файл, который в основном имеет некоторые texts заканчивающиеся на SVG converted graph, затем еще несколько text, а затем еще SVG converted graph и так далее.

тупо попытался это, но без удивления второй транскодер не получает проигнорирован (без исключений), я не знаю, как решить это:

Transcoder transcoder = new PDFTranscoder(); 
TranscoderInput transcoderInput = new TranscoderInput(new FileInputStream(new File(DESKTOP + "svg1.svg"))); 
TranscoderInput transcoderInput1 = new TranscoderInput(new FileInputStream(new File(DESKTOP + "svg2.svg")));; 
TranscoderOutput transcoderOutput = new TranscoderOutput(new FileOutputStream(new File(DESKTOP+"results.pdf"))); 
transcoder.transcode(transcoderInput, transcoderOutput); 
transcoder.transcode(transcoderInput1, transcoderOutput); 

так короче у меня есть две проблемы:

  1. Как добавить несколько SVG в .PDF?

  2. Как добавить текст в себя?

+0

'Это просто не работает' не является полезным описанием того, что происходит не так. Пожалуйста, уточните. – germi

+0

@ germi Ну, я надеялся, что второй транскод продолжает писать в одном потоке, но, к сожалению, этого не происходит. просто игнорирует вычисление ** transcoder.transcode (transcoderInput1, transcoderOutput); ** (без исключения) – nafas

+0

Используйте что-то вроде apache fop, который уже использует batik и предназначен для компоновки страниц и текстового содержимого, изображений и таблиц и т. д. –

ответ

0

Вы можете создать новый svg с этими двумя svg-файлами бок о бок или вверх ногами, а затем преобразовать новый файл svg в .pdf.

или

, если вы хотите создать два файла SVG в виде двух различных страниц в одном файле PDF, а затем преобразовать эти два SVG-файл в PDF файлов затем объединить два PDF-файлов в один файл в формате PDF с IText 2.1.7 (с открытым исходным кодом) или ghostscript