実際の作業は、私たちはしばしば、例えばビジネスニーズに遭遇:テンプレートファイルの生成によると、指定されたメールボックスにメッセージを送信するために生成されたドキュメントを。私たちは、(以前の記事を参照)ワード文書を生成するためのテンプレートに基づいて、PDF文書には、この必要性を達成するために使用し、その後、Word文書することができます。
この方法を学び、習得、私は今日ここに言っているが、実際にブログが書かれたので、この記事の主な目的や学ぶされてきた多くの優秀がある知識を使用するには、行くために彼らの実際のビジネスを使用していました。
前提条件:Aspose社-言葉-15.8.0-jdk16.jar、のLicense.xmlファイル(ハック)を準備
使用している場合、直接瓶/ WEB-INF / lib /ディレクトリにローカル場合は、プロジェクトのjarパッケージで導入する必要があります1、。
LIBに、プロジェクトファイルのフォルダlibに新しいポンポンと同じレベルのAspose-言葉-15.8.0-jdk16.jarし、ファイルのPOM; 2、別の方法は、ローカル設定ファイルのPOMに依存することです以下の依存を追加します。
<依存性> <のgroupId> com.aspose </のgroupId> <たartifactId>のAsposeワード</たartifactId> <バージョン> 15.8.0-jdk16 </バージョン> <スコープ>システム</スコープ> <systemPath> $ {プロジェクト。 BASEDIR} /lib/aspose-words-15.8.0-jdk16.jar </ systemPath> </依存>
PS:組み込みプロパティの数を参照することができるPOMファイル(Mavenのを直接使用することができる事前定義)
$ {BASEDIR}プロジェクトのルートディレクトリ
$ {バージョン}プロジェクトのバージョンを表します。
$ {project.basedir}同$ {BASEDIR}。
$ {Project.version}は同じ$ {バージョン}と、プロジェクトのバージョンを表します。
$ {} Project.build.directoryビルドディレクトリ、デフォルトのターゲット
$ {Project.build.sourceEncodingは}フォーマットをコードするメインソースを表します。
$ {Project.build.sourceDirectory}はプライマリソースパスを表します。
$ {Project.build.finalName}は、出力ファイル名を表します。
$ {} Project.build.outputDirectoryビルドプロセスの出力ディレクトリ、デフォルトのターゲット/クラス
コードの構造:
/ ** * *削除PDF生成透かし * @return * / パブリック 静的 ブールgetLicense(){ ブール結果= falseに、 試してみる{ // のLicense.xml .. \ Webrootの\ WEB-INF \クラスパスに配置する必要があります のInputStream = FreeMarkerWordUtilです。クラス .getClassLoader()getResourceAsStream( "のLicense.xml。" ); log.info( "InputStreamInputStreamInputStream =======" +は、IS); ライセンスaposeLic = 新しい新しいライセンス(); aposeLic.setLicense(IS ); 結果 = trueに。 } キャッチ(例外e){ e.printStackTrace(); } 戻り値の結果; } / ** * *ワードトランスフェクトされたPDF * @param wordPath * @param pdfPath * / パブリック 静的 ブールword2Pdf(wordPath文字、文字列pdfPath){ ブールのフラグ= falseに; // 透かしジェネレータPDF文書の検証が変換される場合は、認証ライセンス IF(!{getLicense()) 復帰 はfalse ; } 試し{ //新しいPDFファイルの作成 ファイルファイルを= 新しい新しいファイル(pdfPath); のFileOutputStream OS = 新新のFileOutputStream(ファイル); // アドレスが変換されたWord文書になることです 文書DOC = 新しい新しいドキュメント(wordPath、ヌル); // フルサポートDOC、DOCX、OOXML、RTF HTML 、OpenDocumentの、PDF、EPUB、XPS、SWFの変換 doc.save(OS、SaveFormat.PDF) にos.close() 内のフラグ = trueに; } キャッチ(例外E){ e.printStackTrace(); フラグ = 偽。 } 戻りフラグ。 }
実用上の問題が発生しました:
1)ひび割れバージョン、それ以外の場合は、意志aposeLic.setLicenseを(使用のLicense.xml)であり、このコードは例外を移動することです。