KNOWLEDGEBASE
Java を使用して HTML から PDF を生成する [ステップバイステップ]
この記事では、Java を使用して HTML から PDF を生成する方法について説明します。 CSS スタイルを含む HTML ドキュメントを簡単に操作およびレンダリングできます。
Aspose.HTML for Java は、アプリケーションが幅広い HTML 操作タスクを実行できるようにし、HTML5、CSS3、SVG、および HTML Canvas 機能をサポートします。 当社の API を使用すると、Web ページの読み込み、コンテンツの分析、編集、ページの保存と変換を行うことができます。 操作できる一般的な形式: XHTML、MHTML、SVG、MD、PDF、XPS、EPUB、PNG、TIFF、JPEG、BMP など。
豊富な機能セット
Aspose.HTML for Java は、さまざまな分野で多くの機能を提供します。
• ドキュメント オブジェクト モデル - ノードの編集、作成、削除が可能で、公式の HTML ドキュメントに従って構築されています。 • 高性能コンバータ。 サポートされているファイル形式の詳細については、 機能リスト または [変換]( https://docs.aspose.com /html/java/converting-between-formats/) の記事。 • CSS、JavaScript、およびその他の組み込み形式の処理。
1 行の Java コードで HTML から PDF を生成
[Converter]( https://reference.aspose.com/html/java/com.aspose.html.converters/ コンバーター)クラス。
// ConvertHTML メソッドを呼び出して、HTML を PDF に変換します。
com.aspose.html.converters.Converter.convertHTML(
"<span>Hello World!!</span>",
".",
new com.aspose.html.saving.PdfSaveOptions(),
"output.pdf"
);
Java を使用して行単位で HTML から PDF を生成
以下は、HTML から行ごとに PDF を生成する手順です。
- HtmlDocument クラスを使用して、最初に HTML ファイルを読み込みます。
- その後、[PdfSaveOptions]( https://reference.aspose.com/html/java/com.aspose.html. Saving/pdfsaveoptions) のインスタンスを作成します。
- [ConvertHTML()]( https://reference.aspose.com/html/java/com.aspose.html.converters/Converter#convertHTML-com.aspose.HTMLDocument-com.aspose. Saving.PdfSaveOptions-java を使用 Converter クラスの .lang.String-) メソッドは HTML を PDF ファイルとして保存します。 HTMLDocument、 PdfSaveOptions を渡す必要があります。 /com.aspose.html. Saving/PdfSaveOptions)、ConvertHTML() メソッドへの出力ファイル パスを指定して、HTML から PDF を生成します。
// Prepare an HTML code and save it to the file.
String code = "<span>Hello World!!</span>";
try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
fileWriter.write(code);
}
// Initialize an HTML document from the file
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument("document.html");
try {
// Initialize PdfSaveOptions
com.aspose.html.saving.PdfSaveOptions options = new com.aspose.html.saving.PdfSaveOptions();
// Convert HTML to PDF
com.aspose.html.converters.Converter.convertHTML(
document,
options,
"output.pdf"
);
} finally {
if (document != null) {
document.dispose();
}
}
保存オプションでレンダリング プロセスをカスタマイズする
[PdfSaveOptions]( https://reference.aspose.com/html/java/com.aspose.html. Saving/pdfsaveoptions) でレンダリング プロセスをカスタマイズし、[ページ サイズ](https://reference .aspose.com/html/java/com.aspose.html.rendering/RenderingOptions#getPageSetup–)、[ファイル権限]( https://reference.aspose.com/html/java/com.aspose.html.rendering .pdf.encryption/pdfencryptioninfo)、 マージン、[CSS メディア タイプ](https:/ /reference.aspose.com/html/java/com.aspose.html.rendering/MediaType)、その他多数。 以下に示す例では、PdfSaveOptions を使用して、カスタムのページ サイズと背景色で PDF ファイルを作成する方法を確認できます。
// Prepare an HTML code and save it to the file
String code = "<span>Hello</span> <span>World!!</span>";
try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
fileWriter.write(code);
}
// Set A5 as a page-size and change the background color to green
com.aspose.html.saving.PdfSaveOptions options = new com.aspose.html.saving.PdfSaveOptions();
com.aspose.html.rendering.PageSetup pageSetup = new com.aspose.html.rendering.PageSetup();
com.aspose.html.drawing.Page anyPage = new com.aspose.html.drawing.Page();
anyPage.setSize(
new com.aspose.html.drawing.Size(
com.aspose.html.drawing.Length.fromInches(8.3f),
com.aspose.html.drawing.Length.fromInches(5.8f)
)
);
pageSetup.setAnyPage(anyPage);
options.setPageSetup(pageSetup);
options.setBackgroundColor(com.aspose.html.drawing.Color.getGreen());
// Convert HTML document to PDF
com.aspose.html.converters.Converter.convertHTML(
"document.html",
options,
"output.pdf"
);
Fine-Tuning Converters の記事で、[PdfSaveOptions](https:/ /reference.aspose.com/html/java/com.aspose.html. Saving/pdfsaveoptions)。
出力ストリーム プロバイダー
クラウドやデータベースなどのリモート ストレージにファイルを保存する場合は、 MemoryStreamProvider インターフェイスを実装できます。 MemoryStreamProvider インターフェイスは、ストリームを作成し、ページまたはドキュメントをレンダリングした後に作成済みのストリームを解放するためのコールバック オブジェクトとして設計されています。
以下に、MemoryStreamProvider の使用例を示します。
package com.aspose.html.examples.java;
// For complete examples and data files, please go to https://github.com/aspose-html/Aspose.HTML-for-Java
public class MemoryStreamProvider implements java.io.Closeable {
// List of InputStream objects created during the document rendering
public java.util.List<java.io.InputStream> lStream = new java.util.ArrayList<>();
@Override
public void close() throws java.io.IOException {
for (java.io.InputStream stream : lStream) {
stream.close();
}
}
}
// Create an instance of MemoryStreamProvider
try (MemoryStreamProvider streamProvider = new MemoryStreamProvider()) {
// Initialize an HTML document
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument("<span>Hello World!!</span>", ".");
try {
// Convert HTML to PDF by using the MemoryStreamProvider
com.aspose.html.converters.Converter.convertHTML(
document,
new com.aspose.html.saving.PdfSaveOptions(),
streamProvider.lStream
);
// Get access to the memory stream that contains the result data
java.io.InputStream inputStream = streamProvider.lStream.stream().findFirst().get();
// Flush the result data to the output file
try (java.io.FileOutputStream fileOutputStream = new java.io.FileOutputStream("output.pdf")) {
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
fileOutputStream.write(buffer);
}
} finally {
if (document != null) {
document.dispose();
}
}
}
Aspose は、 ナレッジ ベース記事、 ドキュメント、[ブログ](https: //blog.aspose.com/)、 コード サンプル、 デモ、 無料サポート と高可用性の 有料サポート。 お客様と協力し、お客様のニーズに応じて Aspose.HTML for Java の実装を支援する専門家が必要な場合は、 有料コンサルティング が最適なソリューションです。