ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
PDF (ポータブルドキュメントフォーマット) は、アプリケーションソフトウェア、サードパーティソフトウェアやドライバー、ハードウェア、macOSなどのオペレーティングシステムに依存しない形で文書を表現するための広く使用されているファイル形式です。 プログラムによってユーザーの介入なしにPDFファイルを操作することは、さまざまなアプリケーションでよく求められる要件です。 この記事では、Javaランタイム環境でPDFファイルを様々な方法で操作する機能を提供する2つのJavaライブラリ、IronPDFとjPDFPrintについて探求します。 私たちは、これらの機能、機能性に深く入り込み、それらの提供内容を比較して、長所と短所を理解し、Acrobat PDFドキュメントを直接使用する場合との違いを理解します。
IronPDFは、開発者がプログラムでPDFを作成、操作、および変換できる強力なJavaライブラリです。 HTML、画像、または既存のドキュメントからPDFを生成する、複数のPDFを結合する、PDFからテキストや画像を抽出する、様々なドキュメント操作を行うなど、幅広い機能を提供します。
IronPDFは、ユーザーに優しいAPIを提供しており、包括的なメソッドとプロパティのセットを備えているため、開発者がAcrobat PDFドキュメントを直接操作することが容易になります。 また、IronPDFをJavaアプリケーションに統合するプロセスを開発者が理解できるように、充実したドキュメントやチュートリアルも提供しています。
注目すべき機能の一つは IronPDF HTMLをPDFに変換する機能です。 この機能を使用すると、開発者はCSSスタイル、JavaScriptインタラクティビティ、そして動的データを含むHTMLコンテンツからPDFドキュメントを簡単に生成できます。
import com.ironpdf.*;
public class HtmlToPdfExample {
public static void main(String [] args) {
HtmlToPdfRenderer renderer = new HtmlToPdfRenderer();
HtmlToPdfOutput output = renderer.RenderHtmlFileAsPdf("input.html");
output.saveAs("output.pdf");
}
}
jPDFPrintは、Javaランタイム環境でプログラム的にPDFドキュメントを印刷することに特化した、Qoppaのサードパーティソフトウェアによって開発されたJavaライブラリです。 それは、Javaの印刷ドキュメントサービスを使用してPDFドキュメントを印刷するためのシンプルで明確なAPIを提供します。
jPDFPrintは、開発者がシステムにインストールされている任意のプリンタにPDFドキュメントを印刷し、ページ範囲、向き、スケーリングなどの読み込みおよび印刷ドキュメント設定を制御し、必要に応じてカスタムプリンタコマンドを指定することもできるようにします。 また、両面印刷、小冊子印刷、ユーザーの介入なしのサイレント印刷、透かしなどの機能もサポートしています。
このライブラリはJavaアプリケーションとシームレスに統合されており、開発者がJavaアプリケーションソフトウェアソリューションに簡単にPDF印刷機能を組み込むことができます。
//import Qoppa third party software to simply call the library
import com.qoppa.pdfPrinter.PDFPrinterJob;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class HtmlToPdfExample {
public static void main(String [] args) throws IOException {
// Load the HTML page
URL url = new URL("http://www.example.com");
String html = org.apache.commons.io.IOUtils.toString(url);
// Create a PDFPrinterJob object
PDFPrinterJob printerJob = new PDFPrinterJob();
// Set the output file
File outputFile = new File("output.pdf");
printerJob.setOutputFile(outputFile);
// Print the HTML page to the output file
printerJob.printHTML(html);
}
}
両方のライブラリは非常に高度であり、PDFドキュメントを操作するのに役立ちます。たとえば、PDFドキュメントを印刷したり、Microsoft WordドキュメントをPDFドキュメントに変換したりできます。
jPDFPrintは、Qoppa SoftwareによってQoppaの独自のPDF技術を使用して開発されたJavaライブラリで、PDFファイルのプログラムでの読み込みと印刷に重点を置いています。 以下は、その使い方の概要です:
package jPDFPrintSamples;
import java.io.FileOutputStream;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.SimpleDoc;
import javax.print.StreamPrintService;
import javax.print.StreamPrintServiceFactory;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.MediaSizeName;
PDFPrint
オブジェクトの作成: PDFPrint
クラスのインスタンスを作成し、印刷したいPDFファイルのパスをパラメーターとして渡します。PDFPrint
クラスが提供するメソッドを使用して印刷設定をカスタマイズします。 プリンタ名を設定し、ページ範囲を指定し、用紙トレイを選択し、印刷品質を選択し、その他の印刷オプションを構成してPDFドキュメントを印刷できます。PDFPrint
オブジェクトのprint
メソッドを呼び出します。 ライブラリーはJavaのプリントサービスを使用してPDFファイルをプリンターに送信します。 package jPDFPrintSamples;
import java.io.FileOutputStream;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.SimpleDoc;
import javax.print.StreamPrintService;
import javax.print.StreamPrintServiceFactory;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.MediaSizeName;
import com.qoppa.pdfPrint.PDFPrint;
public class PDFToPS
{
public static void main (String [] args)
{
try
{
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
String psMimeType = DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType();
StreamPrintServiceFactory [] factories = StreamPrintServiceFactory.lookupStreamPrintServiceFactories(flavor, psMimeType);
System.out.println ("Available PS services: " + factories.length);
if(factories.length == 0)
{
System.err.println ("No PS factories available!");
System.exit(0);
}
// Open the PDF file
PDFPrint pdfPrint = new PDFPrint ("test.pdf", null);
// Open the output file
FileOutputStream fos = new FileOutputStream("output.ps");
// Use the first service available
StreamPrintService sps = factories [0].getPrintService(fos);
DocPrintJob pj = sps.createPrintJob();
// Define paper size
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.NA_LETTER);
// Create simple doc using PDFPrint as Printable and print it
SimpleDoc doc = new SimpleDoc(pdfPrint, flavor, null);
pj.print(doc, aset);
// Close the output PS stream
fos.close();
}
catch (Throwable t)
{
t.printStackTrace();
}
}
}
IronPDFは、Javaライブラリを使用した強力なツールです Javaアプリケーション PDFの生成、変換、およびドキュメント操作を含むPDF操作のために。 IronPDFの使用方法の概要は以下の通りです:
import com.ironsoftware.ironpdf.*;
HtmlToPdfRenderer
サンプルコードに示されているように、PDFドキュメントの印刷コマンドであるクラスは、サイレント印刷やドキュメントをPDFに送信するためのものです。 プログラムによって、テキスト、画像、表、注釈などの要素を追加することでPDFドキュメントを作成することもできます。 import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument;
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.font.FontTypes;
import com.ironsoftware.ironpdf.headerfooter.TextHeaderFooter;
import com.ironsoftware.ironpdf.headerfooter.HeaderFooterOptions;
import java.io.IOException;
// Initialize HeaderFooterOptions object.
HeaderFooterOptions options = new HeaderFooterOptions();
PdfDocument pdf = PdfDocument.renderUrlAsPdf("http://www.google.com");
// Add a header to every page easily
// Mergeable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
options.setFirstPageNumber(1); // use 2 if a cover page will be appended
TextHeaderFooter textHeader = new TextHeaderFooter();
textHeader.setDrawDividerLine(true);
textHeader.setCenterText("{url}");
textHeader.setFont(FontTypes.getHelvetica());
textHeader.setFontSize(12);
pdf.addTextHeader(textHeader, options);
// Add a footer too
TextHeaderFooter textFooter = new TextHeaderFooter();
textFooter.setDrawDividerLine(true);
textFooter.setFont(FontTypes.getArial());
textFooter.setFontSize(10);
textFooter.setLeftText("{date} {time}");
textFooter.setRightText("{page} of {total-pages}");
pdf.addTextFooter(textFooter, options);
try {
pdf.saveAs(Paths.get("assets/text_headers_footers.pdf"));
} catch (IOException e) {
System.out.println("Failed to save PDF");
throw new RuntimeException(e);
}
try {
List<BufferedImage> images = pdf.extractAllImages();
System.out.println("Number of images extracted from the website: " + images.size());
int i = 0;
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Path.of("assets/extracted_" + ++i + ".png")));
}
} catch(Exception exception) {
System.out.println("Failed to extract images from the website");
exception.printStackTrace();
}
saveAs
メソッドを使用して、ドキュメントをストリームやHTTPレスポンスに送信して特定の場所に保存できます。jPDFPrintとIronPDFの両方がPDF操作機能を提供していますが、IronPDFはより包括的な機能と柔軟性を提供します。 IronPDF はいくつかの点で際立っています:
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument;
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
// Case 1: Generate a PDF from a string of Rich Text Content
try {
String content = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\nouicompat\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Calibri;}}\n" +
"{\\*\\generator Riched20 10.0.22621}\\viewkind4\\uc1 \n" +
"\\pard\\sa200\\sl276\\slmult1\\b\\f0\\fs160\\lang9 Hello, world!\\par\n" +
"}\n" +
" ";
PdfDocument pdf = PdfDocument.renderRtfAsPdf(content);
pdf.saveAs(Paths.get("assets/rtf_to_pdf.pdf"));
} catch(IOException exception) {
exception.printStackTrace();
}
// Case 2: Generate a PDF from a RTF file located on a filesystem path
try {
PdfDocument pdf = PdfDocument.renderRtfFileAsPdf(Paths.get("assets/test.rtf"));
pdf.saveAs(Paths.get("assets/rtf_to_pdf_2.pdf"));
} catch(IOException exception) {
exception.printStackTrace();
}
これらの利点を考えると、HTMLからPDFへの変換機能、広範なドキュメント操作機能、優れたサポートを備えた強力で柔軟なPDF操作ソリューションを求める開発者は、jPDFPrintよりもIronPDFを優先すべきです。
ただし、プロジェクトの具体的な要件を評価し、各ライブラリが提供する機能、ドキュメント、およびサポートを評価して、アプリケーションのニーズに合った賢明な決定を下すことが重要です。
jPDFPrintはPDFファイルの印刷に特化しており、印刷プロセスに対して広範な制御を提供します。
package jPDFPrintSamples;
import com.qoppa.pdfPrint.PDFPrint;
public class SimplePrint
{
public static void main (String [] args)
{
try
{
PDFPrint pdfPrint = new PDFPrint("input.pdf", null);
pdfPrint.print(null);
}
catch (Throwable t)
{
t.printStackTrace();
}
}
}
IronPDFは、HTMLからのPDF生成、ドキュメント操作、テキストや画像の抽出など、より広範な機能を提供します。
// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the URL page as a PDF. Stored in myPdf as type PdfDocument
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("/java");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("url_saved.pdf"));
PdfDocument pdfDocument = PdfDocument.renderUrlAsPdf("/java");
jPDFPrintは、PDF印刷用に特別に設計されたシンプルなAPIを提供します。 印刷設定を扱い、プリンターと相互作用するためのメソッドとプロパティを提供します。
IronPDFは、より広範な機能を持つ包括的なAPIを提供します。 それは、PDFドキュメントの作成、操作、および変換のためのメソッドとプロパティを提供し、HTMLからPDFへの変換に広範なサポートを提供します。
jPDFPrintは、Javaアプリケーションにシームレスに統合され、PDF印刷タスクを簡素化します。 それは十分に文書化されており、既存のプロジェクトに簡単に統合できます。
IronPDFは、包括的なドキュメントとチュートリアルを備えたユーザーフレンドリーなAPIを提供します。 その豊富な機能セットは、学習および統合により多くの労力を要するかもしれませんが、その能力はPDF操作の幅広い可能性を提供します。
IronPDFはHTMLからPDFへの変換に優れており、開発者がCSSスタイリングやJavaScriptのインタラクティビティを含むHTMLコンテンツから直接PDFドキュメントを生成することを可能にします。
jPDFPrintにはネイティブのHTMLからPDFへの変換機能がありません。 主な焦点は、HTMLから生成するのではなく、既存のPDFファイルを印刷することにあります。
jPDFPrintは、両面印刷、小冊子印刷、透かし追加などの高度な印刷機能を提供します。 印刷プロセスに対して非常に詳細な制御を提供し、プリンターコマンドのカスタマイズを可能にします。
一方、IronPDFは印刷機能を専門としていません。 主な強みはPDFの生成、操作、および抽出にあります。
IronPDFとjPDFPrintはどちらも活発なコミュニティを持ち、開発者向けのサポートを提供しています。 Qoppaの独自PDF技術、jPDFPrintの開発者は、包括的なドキュメント、チュートリアル、および迅速なカスタマーサポートを提供します。 IronPDFは、チュートリアルや専任のサポートチームを含む広範なドキュメントとリソースも提供しています。
IronPDFとjPDFPrintのライセンスおよび価格モデルは異なります。 開発者は、2つのライブラリのどちらを選ぶかを決める際に、プロジェクトの要件、予算、およびライセンスの制約を考慮する必要があります。
IronPDFは、製品を使用する開発者の数に基づいたシンプルでオープンな価格構造を提供します。 ライセンスは、単一の開発者、開発者グループ、または無制限の人数の開発者を持つ組織のために購入することができます。 費用は次の通りです:
ビジネス: 年間 $2,999
ライセンスを購入すれば、IronPDFを任意の数のプロジェクトで使用でき、1年間の無料アップグレードおよび技術サポートが受けられます。 最初の1年後に低コストでライセンスを更新するオプションがあります。
Qoppa PDFは、永続、年間、およびサブスクリプションライセンスなど、さまざまなライセンスオプションを提供しています。 必要な特定の部品と機能によって、価格は異なります。 例えば、Qoppa PDF Automation Server の永久ライセンスは $4,000 で、一方年間ライセンスは $1,500 です。
Qoppa PDFによって、ウェブサービスオーケストレーションのためのロイヤリティベースのライセンススキームも提供されています。 これにより、あなたのオンラインサービスが処理するPDFファイルの量に応じて課金されることを意味します。
IronPDF for JavaおよびjPDFPrint Javaライブラリは、PDF操作のための異なる機能を提供します。 jPDFPrintは高度な機能と細かい制御を備えてプログラムでPDFファイルを印刷することに重点を置いていますが、IronPDFはHTMLからのPDF生成、ドキュメント操作、および抽出を含む包括的な機能セットを提供します。 IronPDFは、Java用の多目的PDFライブラリであり、開発者がプログラムでPDFファイルを操作することを可能にします。 それは、PDFの作成、編集、結合、分割、およびHTMLからの変換などの広範な機能を提供します。 IronPDFは、PDF操作の開発プロセスを簡素化するユーザーフレンドリーなAPI、使いやすい機能、および包括的なドキュメントを提供します。
一方、jPDFPrintは、プログラムを使用してPDFファイルを印刷するために特別に設計されたJavaライブラリです。 プリンターの選択、ページ範囲の選択、両面印刷、および用紙サイズと方向設定などの高度な機能を提供します。 jPDFPrintは、直感的なAPI、詳細なドキュメント、そして優れたカスタマーサポートも提供しています。
IronPDFはjPDFPrintより簡単でオープンな料金体系を提供します。 IronPDFのライセンスモデルは、ライブラリを使用する開発者の数に基づいており、1人の開発者向け、開発チーム向け、または無制限の開発者数を持つ組織向けのオプションがあります。 IronPDFのライセンスはjPDFPrintよりも若干安く、ライセンスタイプによって年間$749から$5,999までの価格範囲です。 IronPDFは、最初の1年間は無料アップグレードと技術サポートを提供し、更新は低コストで行うことができます。
技術的な能力の面では、IronPDFはjPDFPrintよりも包括的な機能セットを提供します。 IronPDFを使用すると、開発者はPDFファイルを様々な方法で操作できます。これには、PDFの作成、編集、結合、分割、およびHTMLからの変換が含まれます。 IronPDFはまた、PDF操作の開発プロセスを簡素化する、充実したドキュメント、ユーザーフレンドリーなAPI、および使いやすいインターフェースを提供しています。
Iron Software 製品 - IronPDF やその他の Iron Software 製品を購入しようとしている開発者は、Iron Software のウェブサイトで提供されている「5つ買えば、2つの価格で購入できる」オファーを利用できます。このオファーは、IronPDF、IronOCR、IronBarcode などを含む複数の Iron Software 製品を購入する開発者に対して、大幅な割引を提供します。
9つの .NET API製品 オフィス文書用