создание отформатированных PNG-страниц документа с использованием Java / Scala - PullRequest
1 голос
/ 23 февраля 2011

У меня есть документ в дереве scala.xml (его легко конвертировать во все остальное), который я хотел бы взять и превратить в серию файлов PNG.

Например, документ может выглядеть так:

<doc
  title="My Document"
  author="John Doe"
  created="1 July 1977"
  published="19 July 1799"
>
  <section heading="An Analysis of Multiparticles"> <!-- Section 1 -->
    <p>Paragraph one goes here</p> <!-- INTRODUCTION! -->
    <p>Paragraph two goes here</p>
  </section>
  <section heading="Conclusion of Multiparticles"> <!-- Section 2 -->
    <p>Paragraph one goes here</p> <!-- INTRODUCTION! -->
    <p>Paragraph two goes here</p>
  </section>

</doc>

Затем я хотел бы превратить этот документ в PNG, который выглядит примерно так, за исключением красных линий под вымышленными словами (я бы предоставил правила форматирования, использование шрифтов и т. Д.): image

И, если возможно, более длинные документы должны быть в состоянии «разбиты на страницы» в любом количестве файлов PNG, которые будут перетекать в следующий после нажатия, скажем, 500px высоты или чего-то еще.

Если для этого существует существующая библиотека / пакет Java, которая выполняет какую-либо часть этого (или пару, которой удается все это собрать вместе) - отлично! В противном случае я хотел бы знать, с чего мне начать, чтобы написать что-нибудь для этого на Scala (желательно) или Java.

Спасибо!

Ответы [ 3 ]

1 голос
/ 23 февраля 2011

Я бы предложил вместо экспорта PDF. Другие упоминали iText: я начал использовать iText для клиента (звонил из Scala). Кажется, что он хорошо сидит между скукой низкого уровня PDFBox и Jasper Reports более высокого уровня.

0 голосов
/ 23 февраля 2011

Вы хотите использовать библиотеку iText . Это позволяет вам манипулировать документом, создавать PDF и все, что вы хотите с ним делать, очень продвинутый, очень мощный, очень Java. После того, как у вас есть PDF, вы можете экспортировать его содержимое в любой формат, который вам необходим, и в internet .

появится множество вариантов PDF -> PNG.

С титульной страницы:

Разработчики могут использовать iText для:

* Serve PDF to a browser
* Generate dynamic documents from XML files or databases
* Use PDF's many interactive features
* Add bookmarks, page numbers, watermarks, etc.
* Split, concatenate, and manipulate PDF pages
* Automate filling out of PDF forms
* Add digital signatures to a PDF file
0 голосов
/ 23 февраля 2011

Я предлагаю перейти через LaTeX, например, с http://htmltolatex.sourceforge.net/. После того, как вы сможете установить подходящие размеры страниц, конвертировать в PDF, разбивать PDF на отдельные страницы и конвертировать страницы в PNG в размере что вы хотите.

Или вам действительно нужно, чтобы все это было одной программой, работающей под JVM?

...