2016-07-08 12 views
-1

私は、ユーザーからのいくつかの入力(名前、年齢、住所など)を受け入れ、ダウンロードして印刷するための情報を記入した定義済みフォームを生成するWebアプリケーションを作成しています。Java/ScalaでPDF/DOCXファイルを作成するには?

たとえば、免許証やその行に沿ったものを運転するための申請書。バックエンドは、生成される文書に関する書式情報を有し、他の情報は、フロントエンドからユーザから収集される。

私はこのためにプレイフレームワーク2.5を使用し、Java/Scalaをプログラミング言語として使用します。しかし今、私は、このドキュメント生成を達成するために使用できる無料のライブラリ/ APIがあるかどうかはわかりません。

私が操作することができるはずフォントサイズ、スタイル、インデント、段落、ページの境界線、ページ番号、アライメント、文書のヘッダーとフッター、ページサイズ(A4、リーガルなど)他のいくつかの基本的なもの。そして私は、編集と印刷の目的で広くサポートされている書式の書類が必要です。 PDFのように、DOCXなどです。 DOCXは、印刷を行う前にドキュメントをダウンロードした後にユーザーが編集できるようにすることをお勧めします。

私は(docxファイルを含む)のMS Word文書ファイルを解析して作成するようにApache POIライブラリを使用していた
+1

から参照するためのサンプルコードです。ここに彼らは**オフトピック**です。 – GhostCat

+0

私の最初の質問はこれを認識していなかった。 –

答えて

1

をお勧めします私はdocx4j.jarを使ってxhtmlをdocxに変換するだけです。

要件のためにできることは、フォーマット情報をxhtmlテンプレートとして保存し、フォームからの入力(名前、年齢、住所など)を実行時にテンプレートに配置することです。

これは質問の「してください - 教えて・ミー・ライブラリー-I-缶の使用」タイプのためsoftwarereqs.stackexchange.comに回してください。このlink

public static void main(String[] args) throws Exception 
{ 
     String xhtml= 
       "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%;\"><tbody><tr><td>test</td><td>test</td></tr><tr><td>test</td><td>test</td></tr><tr><td>test</td><td>test</td></tr></tbody></table>";  

     // To docx, with content controls 
     WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(); 

     XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage); 

     wordMLPackage.getMainDocumentPart().getContent().addAll( 
       XHTMLImporter.convert(xhtml, null)); 

     wordMLPackage.save(new java.io.File("D://sample.docx")); 
} 
+0

Apache POIはdocx4jよりも簡単ですが、とにかく感謝しています。 :) –

+0

それはクールです.. ..! – PVR

関連する問題