Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
PDF (EN ANGLAIS) (Format de document portable) est un format de fichier largement utilisé pour représenter des documents de manière indépendante des logiciels applicatifs, des logiciels tiers ou des pilotes, du matériel et des systèmes d'exploitation tels que macOS. Manipuler des fichiers PDF de manière programmatique sans intervention de l'utilisateur est une exigence courante dans diverses applications. Cet article explore deux bibliothèques Java, IronPDF et jPDFPrint, qui offrent des capacités de manipulation des fichiers PDF de différentes manières dans un environnement d'exécution Java. Nous examinerons leurs caractéristiques, fonctionnalités et comparerons leurs offres pour comprendre leurs forces et faiblesses et comment elles se différencient de l'utilisation directe des documents PDF d'Acrobat.
IronPDF est une bibliothèque Java puissante qui permet aux développeurs de créer, manipuler et convertir des PDF par programmation. Il offre une large gamme de fonctionnalités telles que la génération de PDF à partir de HTML, d'images ou de documents existants, la fusion de plusieurs PDF, l'extraction de texte et d'images à partir de PDF, et la réalisation de diverses tâches de manipulation de documents.
IronPDF offre une API conviviale avec un ensemble complet de méthodes et de propriétés, ce qui permet aux développeurs de travailler directement avec des documents PDF Acrobat. Il propose également une documentation complète et des tutoriels pour guider les développeurs dans le processus d'intégration d'IronPDF dans leurs applications Java.
L'une des caractéristiques notables de IronPDF est sa capacité à convertir du HTML en PDF. Avec cette fonctionnalité, les développeurs peuvent facilement générer des documents PDF à partir de contenu HTML, y compris les styles CSS, l'interactivité JavaScript et même des données dynamiques.
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 est une bibliothèque Java développée par le logiciel tiers Qoppa, qui se concentre spécifiquement sur l'impression programmatique de documents PDF dans un environnement d'exécution Java. Il fournit une API simple et directe pour imprimer des documents PDF à l'aide du service d'impression de documents Java.
jPDFPrint permet aux développeurs d'imprimer des documents PDF sur n'importe quelle imprimante installée sur le système, de contrôler le chargement et les paramètres d'impression des documents tels que la plage de pages, l'orientation et l'échelle, et même de spécifier des commandes d'imprimante personnalisées, si nécessaire. Il prend également en charge des fonctionnalités telles que l'impression recto-verso, l'impression de brochures, l'impression silencieuse sans intervention de l'utilisateur et le filigrane.
La bibliothèque s'intègre parfaitement aux applications Java, permettant aux développeurs d'incorporer facilement la fonctionnalité d'impression PDF dans leurs solutions logicielles d'application Java.
//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);
}
}
Les deux bibliothèques sont très sophistiquées et utiles pour manipuler des documents PDF tels que l'impression de documents PDF, la conversion de documents Microsoft Word en documents PDF.
jPDFPrint est une bibliothèque Java développée par Qoppa Software utilisant la technologie PDF propriétaire de Qoppa, qui se concentre sur le chargement et l'impression programmatiques des fichiers PDF. Voici un aperçu de la façon de l'utiliser :
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
: Créez une instance de la classe PDFPrint
et passez le chemin du fichier PDF que vous souhaitez imprimer en tant que paramètre.PDFPrint
. Vous pouvez définir le nom de l'imprimante, spécifier la plage de pages, sélectionner les bacs à papier, choisir la qualité d'impression et configurer d'autres options d'impression pour imprimer des documents PDF.print
sur l'objet PDFPrint
pour lancer le processus d'impression. La bibliothèque utilisera le service d'impression de Java pour envoyer le fichier PDF à l'imprimante. 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 est une puissante bibliothèque Java utilisée dans le Application Java pour la manipulation de PDF, y compris la génération de PDF, la conversion et la manipulation de documents. Voici un aperçu de l'utilisation de IronPDF :
import com.ironsoftware.ironpdf.*;
HtmlToPdfRenderer
classe qui est une commande d'impression de document PDF, comme montré dans l'exemple de code pour imprimer en silence ou envoyer des documents en PDF. Vous pouvez également créer des documents PDF de manière programmatique en ajoutant des éléments tels que du texte, des images, des tableaux et des annotations. 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
pour envoyer des documents vers un flux ou une réponse HTTP.Bien que jPDFPrint et IronPDF offrent des capacités de manipulation de PDF, IronPDF fournit un ensemble de fonctionnalités et de flexibilité plus complet. IronPDF se distingue de plusieurs manières :
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();
}
Étant donné ces avantages, les développeurs à la recherche d'une solution puissante et flexible de manipulation de PDF avec des capacités de conversion HTML en PDF, des fonctionnalités étendues de manipulation de documents et un excellent support devraient préférer IronPDF à jPDFPrint.
Cependant, il est essentiel d'évaluer les exigences spécifiques de votre projet et d'examiner les fonctionnalités, la documentation et le support offerts par chaque bibliothèque afin de prendre une décision éclairée qui s'aligne sur les besoins de votre application.
jPDFPrint se concentre uniquement sur l'impression de fichiers PDF et offre un contrôle étendu sur le processus d'impression.
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 offre une gamme plus large de fonctionnalités, y compris la génération de PDF à partir de HTML, la manipulation de documents, l'extraction de texte et d'images, et plus encore.
// 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 dispose d'une API simple spécifiquement conçue pour l'impression de PDF. Il fournit des méthodes et des propriétés pour gérer les paramètres d'impression et interagir avec les imprimantes.
IronPDF offre une API complète avec un champ de fonctionnalités plus large. Il fournit des méthodes et des propriétés pour créer, manipuler et convertir des documents PDF, ainsi qu'un support étendu pour la conversion de HTML en PDF.
jPDFPrint s'intègre parfaitement aux applications Java et simplifie les tâches d'impression PDF. Il est bien documenté et facile à intégrer dans les projets existants.
IronPDF fournit une API conviviale avec une documentation et des tutoriels complets. Son vaste ensemble de fonctionnalités peut nécessiter plus d'efforts pour apprendre et intégrer, mais ses capacités offrent une gamme plus large de possibilités pour la manipulation de PDF.
IronPDF excelle dans la conversion HTML en PDF, permettant aux développeurs de générer des documents PDF directement à partir de contenu HTML, y compris la mise en forme CSS et l'interactivité JavaScript.
jPDFPrint n'offre pas de fonctionnalités natives de conversion HTML en PDF. Son objectif principal est d'imprimer des fichiers PDF existants plutôt que de les générer à partir de HTML.
jPDFPrint offre des fonctionnalités d'impression avancées telles que l'impression recto verso, l'impression de livrets, l'ajout de filigranes, et plus encore. Il offre un contrôle précis sur le processus d'impression et permet la personnalisation des commandes de l'imprimante.
En revanche, IronPDF ne se spécialise pas dans les fonctionnalités d'impression. Sa principale force réside dans la génération, la manipulation et l'extraction de PDF.
IronPDF et jPDFPrint ont tous deux des communautés actives et offrent un support pour les développeurs. La technologie PDF propriétaire de Qoppa, créatrice de jPDFPrint, offre une documentation complète, des tutoriels et un support client réactif. IronPDF fournit également une documentation et des ressources étendues, y compris des tutoriels et une équipe de support dédiée.
Les modèles de licence et de tarification diffèrent entre IronPDF et jPDFPrint. Les développeurs doivent prendre en compte les exigences de leur projet, leur budget et les contraintes de licence lorsqu'ils choisissent entre les deux bibliothèques.
IronPDF offre une structure de prix simple et transparente basée sur la quantité de développeurs qui utiliseront le produit. Une licence peut être achetée pour un seul développeur, un groupe de développeurs ou une organisation avec un nombre illimité de développeurs. Les coûts sont les suivants :
Affaires : 2 999 $ par an
Vous pouvez utiliser IronPDF dans un nombre quelconque de projets avec l'achat d'une licence, et vous bénéficierez de mises à jour gratuites et d'un support technique pendant un an. Vous avez la possibilité de renouveler votre licence à un coût inférieur après la première année.
Les licences perpétuelles, annuelles et par abonnement ne sont que quelques-unes des options de licence proposées par Qoppa PDF. Selon les parties et les fonctionnalités spécifiques dont vous avez besoin, le prix varie. Par exemple, une licence perpétuelle Qoppa PDF Automation Server coûte 4 000 $, tandis qu'une licence annuelle coûte 1 500 $.
Un système de licence basé sur les redevances pour l'orchestration des services web est également proposé par Qoppa PDF. Cela implique que vous serez facturé en fonction du volume de fichiers PDF traités par votre service en ligne.
IronPDF for Java et les bibliothèques jPDFPrint Java offrent des fonctionnalités distinctes pour la manipulation de PDF. Bien que jPDFPrint se concentre sur l'impression programmatique de fichiers PDF avec des fonctionnalités avancées et un contrôle précis, IronPDF offre un ensemble complet de fonctionnalités, y compris la génération de PDF à partir de HTML, la manipulation de documents et l'extraction. IronPDF est une bibliothèque PDF polyvalente pour Java qui permet aux développeurs de manipuler des fichiers PDF de manière programmatique. Il offre une vaste gamme de fonctionnalités, telles que la création, la modification, la fusion, la division et la conversion de PDF à partir de HTML. IronPDF offre une API conviviale, des fonctionnalités faciles à utiliser et une documentation complète qui simplifient le processus de développement pour la manipulation des PDF.
D'autre part, jPDFPrint est une bibliothèque Java conçue spécifiquement pour imprimer des fichiers PDF de manière programmatique. Il offre des fonctionnalités avancées, telles que la sélection de l'imprimante, la sélection de la plage de pages, l'impression recto verso et les paramètres de taille et d'orientation du papier. jPDFPrint offre également une API intuitive, une documentation détaillée et un excellent support client.
IronPDF offre une structure tarifaire plus simple et plus ouverte que jPDFPrint. Le modèle de licence d'IronPDF est basé sur le nombre de développeurs qui utiliseront la bibliothèque, avec des options pour un seul développeur, une équipe de développeurs, ou une organisation avec un nombre illimité de développeurs. Les licences IronPDF sont légèrement moins chères que celles de jPDFPrint, avec des prix allant de $749 à $2,999 par an, selon le type de licence. IronPDF propose également des mises à jour gratuites et un support technique pendant la première année, avec la possibilité de renouveler à moindre coût.
En termes de capacités techniques, IronPDF offre un ensemble de fonctionnalités plus complet que jPDFPrint. IronPDF permet aux développeurs de manipuler des fichiers PDF de multiples manières, y compris la création, l'édition, la fusion, la division et la conversion depuis HTML. IronPDF fournit également une documentation détaillée, une API conviviale et une interface facile à utiliser qui simplifie le processus de développement pour la manipulation de PDF.
Produits Iron Software - Les développeurs souhaitant acheter IronPDF ou tout autre produit Iron Software peuvent profiter de l'offre "Achetez 5, Payez pour 2" disponible sur le site Web d'Iron Software. Cette offre offre une réduction substantielle pour les développeurs qui achètent plusieurs produits Iron Software, y compris IronPDF, IronOCR et IronBarcode, entre autres.
9 produits de l'API .NET pour vos documents de bureau