PdfViewer クラス
Contents
[
Hide
]
Java の PdfViewerExamples クラスは、Facades API を通じて利用可能な主要なビューア ワークフローを示します。
すべての PDF ページをデコード
ソース PDF のすべてのページを画像としてレンダリングする必要がある場合に、このワークフローを使用します。
手順
PdfViewerインスタンスを作成して構成してください。bindPdfを使用してソース PDF をバインドしてください。decodeAllPages()を呼び出して、ドキュメントをBufferedImage配列にレンダリングしてください。- デコードされた各ページを出力画像ファイルに保存してください。
- バインドされた PDF ファイルを閉じてください。
Java の例
public static void decodeAllPages(Path inputFile, Path outputDir) throws Exception {
PdfViewer viewer = createViewer();
try {
viewer.bindPdf(inputFile.toString());
BufferedImage[] pages = viewer.decodeAllPages();
for (int index = 0; index < pages.length; index++) {
ImageIO.write(pages[index], "png", outputDir.resolve("decode_all_pages_" + (index + 1) + ".png").toFile());
}
} finally {
viewer.closePdfFile();
}
}
特定の PDF ページのデコード
ページが1つだけ画像にレンダリングする必要がある場合は、このワークフローを使用してください。
手順
PdfViewerインスタンスを作成して構成してください。- ソース PDF をバインドしてください。
- レンダリングしたいページに対して
decodePage()を呼び出してください。 - デコードされたページを出力画像ファイルに保存してください。
- ビューアを閉じてください。
Java の例
public static void decodeSpecificPage(Path inputFile, Path outputFile) throws Exception {
PdfViewer viewer = createViewer();
try {
viewer.bindPdf(inputFile.toString());
ImageIO.write(viewer.decodePage(1), "png", outputFile.toFile());
} finally {
viewer.close();
}
}
PDF メタデータの検査
レンダリングまたは印刷の前にビューア関連のドキュメント情報が必要な場合は、このワークフローを使用してください。
手順
PdfViewerインスタンスを作成して構成してください。- ソース PDF をバインドしてください。
- ページ数、座標タイプ、レンダリング解像度を読み取ってください。
- 取得した値を使用するか、印刷してください。
- バインドされた PDF ファイルを閉じてください。
Java の例
public static void inspectPdfMetadata(Path inputFile) {
PdfViewer viewer = createViewer();
try {
viewer.bindPdf(inputFile.toString());
System.out.println("Page count: " + viewer.getPageCount());
System.out.println("Coordinate type: " + viewer.getCoordinateType());
System.out.println("Resolution: " + viewer.getResolution());
} finally {
viewer.closePdfFile();
}
}
バインドされたビューア設定の確認
PDF をバインドした後に、ビューアの動作を確認または調整する必要がある場合に、このワークフローを使用してください。
手順
PdfViewerインスタンスを作成して構成してください。- ソース PDF をバインドしてください。
- 自動リサイズ、自動回転、印刷ダイアログの表示などのビューアオプションを設定してください。
- アクティブなビューア設定とページ数を読み取ってください。
- ビューアを閉じてください。
Java の例
public static void inspectBoundViewerSettings(Path inputFile) {
PdfViewer viewer = createViewer();
try {
viewer.bindPdf(inputFile.toString());
viewer.setAutoResize(true);
viewer.setAutoRotate(true);
viewer.setPrintPageDialog(false);
System.out.println("Page count: " + viewer.getPageCount());
System.out.println("Print as image: " + viewer.getPrintAsImage());
System.out.println("Auto resize: " + viewer.getAutoResize());
System.out.println("Auto rotate: " + viewer.getAutoRotate());
} finally {
viewer.close();
}
}