IronPDF for Java ve iTextPDF itext7 for Java Arasındaki Karşılaştırma
Bugün, geliştiriciler sürekli gelişen teknoloji sayesinde daha iyi çözümlerden faydalanabilirler.
Yazılım geliştirme süreçlerinin geleceği otomasyonda yatmaktadır. Uzun zamandır, PDF dosyaları geliştiriciler için zorluklar sunmaktaydı. PDF'lerle çalışırken (yani, içerik üretmek ve içeriği diğer formatlardan PDF'ye dönüştürmek), göz önünde bulundurulması gereken birçok husus vardır. Birçok formatı okumaya, yazmaya ve hatta dönüştürmeye yardımcı olmak amacıyla geliştirilen birçok kütüphane ile bu ihtiyaçlar artık karşılanmaktadır.
Bu makale, Java geliştiricileri için PDF dosyalarını düzenlemek, yazdırmak ve oluşturmak üzere en iyi karşılanan iki PDF kütüphanesini karşılaştıracak:
- IronPDF Java Kütüphanesi: HTML'den PDF oluşturma üzerine odaklanan bir Java PDF kütüphanesi.
- ITextPDF kütüphanesi: Programlanabilir bir API kullanarak PDF oluşturma üzerine odaklanan Java öncelikli, açık kaynaklı bir kütüphane.
Hangi kütüphanenin uygulamanız için en iyi olduğunu belirlemek amacıyla iki kütüphanenin özelliklerini inceleyecek ve PDF'lerin dönüştürülmesi ve ele alınması konusundaki performans maliyetlerini ele alacağız. Ayrıca, her kütüphanenin süresi daha sonra araştırma için kaydedilecektir.
IronPDF Java'yı Kurma
IronPDF Java için'yı kurmak için, onu sadece bir bağımlılık olarak beyan etmeniz yeterlidir. IronPDF'yi bir bağımlılık olarak tanımlamak için, lütfen aşağıdakileri pom.xml kodunuza ekleyin:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
Not: .jar'ı manuel olarak indirebilirsiniz:
- Maven Repo sayfasına erişmek için IronPDF Java için Maven Deposunu ziyaret edin.
- Zip dosyasının içeriğini çıkarın.
- Bir klasör oluşturun ve zip klasörünün içeriğini kopyalayın.
- Eclipse IDE'yi açın.
- Yeni bir Java projesi oluşturun.
- Sınıf yoluna IronPDF .jar dosyalarını ekleyin.
- Proje oluşturma sihirbazını bitirin. Hepsi bu kadar!
IronPDF Özellikleri
Geliştiriciler, güçlü IronPDF PDF kütüphanesinin yardımıyla PDF'leri hızlı bir şekilde üretebilir, okuyabilir ve manipüle edebilir. IronPDF, çekirdeğinde Chrome motorunu kullanır ve HTML5, JavaScript, CSS ve görüntü dosyalarını PDF'ye dönüştürme yeteneği de dahil olmak üzere birçok pratik ve güçlü özellik sunar. IronPDF ayrıca benzersiz başlıklar ve altbilgiler ekleyebilir ve PDF dosyalarını bir web tarayıcısında göründükleri gibi oluşturabilir. IronPDF, HTML, ASPX, Razor View ve MVC dahil olmak üzere çeşitli web formatlarını destekler. IronPDF'nin temel özellikleri şunlardır:
- Java programları ile kolayca PDF'ler oluşturun, okuyun ve düzenleyin.
- Kullanıcı Aracıları, Proxyler, Çerezler, HTTP Başlıkları ve Form Değişkenleri için ayarlara sahip olan herhangi bir web sitesi URL bağlantısından HTML giriş formlarını kullanarak giriş yapmaya destek olan PDF'ler oluşturun.
- Zaten mevcut olan PDF yayınlarından fotoğrafları kaldırın.
- PDF'lere metin, fotoğraf, yer imleri, filigranlar ve diğer öğeleri ekleyin.
- Birkaç PDF belgesinin sayfalarını birleştirin ve bölün.
- CSS dosyaları da dahil olmak üzere medya türü dosyaları belgelerine dönüştürün.
ITextPDF Java'yı Kurma
iTextPDF Web Sitesini ziyaret ederek ITextPDF'i ücretsiz olarak indirebilirsiniz. Bu kütüphane, AGPL yazılım lisanslama modeli altında açık kaynaklıdır.
iText kütüphanesini uygulamanıza eklemek için, şu Maven deposunu pom.xml dosyanıza dahil edin.
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
iTextPDF .jar dosyalarını doğrudan indirin ve slf4j.jar dosyasını doğrudan indirin. Kütüphaneleri kullanmak için, iTextPDF .jar dosyalarını sisteminizin sınıf yoluna ekleyin.
iText Kütüphanesi Özellikleri
- HTML, XML ve Görüntülerden (png, jpg, vb.) PDF'ler oluşturun.
- PDF belgelerine yer imleri, sayfa numaraları ve işaretler ekleyin.
- Bir PDF dosyasını birden fazla PDF'ye bölün veya birden fazla PDF'yi tek bir PDF'ye birleştirin.
- PDF Formlarını programlı olarak düzenleyin.
- PDF'lere metin, görüntü ve geometrik şekiller ekleyin.
ItextPDF Java kullanarak HTML Dizeleri'ni PDF'lere Dönüştürün
Java için iText'te, HTMLConverter HTML'yi PDF'ye dönüştürmek için kullanılan birincil sınıftır.
HTMLConverter içinde üç ana yöntem vardır:
convertToDocument, birDocumentnesnesi döndüren.convertToElements, birIElementnesneleri listesi döndüren.convertToPdfHTML içeriğini PDF'ye dönüştürme işlemini gerçekleştirir. Bu yöntem, HTML girdisiniString,FileveyaInputStreamolarak kabul eder ve birFile,OutputStreamveyaDocumentnesnesi döndürür.
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
IronPDF Java Kullanarak HTML Dizeleri'ni PDF'lere Dönüştürün
IronPDF'in PdfDocument sınıfı, Java geliştiricilerinin çeşitli kaynaklardan HTML metinleri üretmesini sağlayan birden fazla statik yöntem sunar. Bu yöntemlerden biri, HTML biçimlendirmesi dizisini bir PDF belgesine dönüştüren PdfDocument.renderHtmlAsPdf yöntemidir.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
ITextPDF Java kullanarak HTML Dosyalarını PDF'ye Dönüştürün
convertToPdf yöntemi, herhangi bir HTML dosyasını PDF'ye dönüştürmek için kullanılabilir.
HTML dosyasında resimler ve CSS dosyaları bulunabilir. Ancak, bunlar HTML dosyası ile aynı konumda olmalıdır. Referans verilen CSS ve resimler için temel yolu ayarlamak için ConverterProperties sınıfını kullanabiliriz. Bu, HTML dosyası varlıklarının farklı dizinlerde bulunduğu durumlarda kullanışlıdır.
Aşağıdaki işaretlemeyi içeren bir index.html dosyasını düşünün.
<html>
<head>
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 7.1.9
<span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label">Title</th>
<td>iText - Java HTML to PDF</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 7.1.9
<span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label">Title</th>
<td>iText - Java HTML to PDF</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
Aşağıdaki kaynak kod, index.html dosyasını PDF'ye dönüştürür:
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
IronPDF Java için Kullanarak HTML Dosyalarını PDF'ye Dönüştürün
IronPDF'in PdfDocument.renderHtmlFileAsPdf yöntemi, bir bilgisayarda veya ağ yolu üzerinde bulunan HTML dosyalarını dönüştürür.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}
IronPDF Java Kullanarak PDF Dosyalarına Görüntü Ekleme
IronPDF'in PdfDocument.fromImage yöntemini, bir grup resmi tek bir PDF dosyasına dönüştürmek için kullanabilirsiniz. Aşağıdaki örnek, farklı dosya sistemi yollarında bulunan kısa bir resim listesi üzerinde bu yöntemi kullanmaktadır.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);
// Convert the three images into a PDF and save them.
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);
// Convert the three images into a PDF and save them.
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
}
}
ITextPDF Java Kullanarak PDF'lere Görüntü Ekleme
Aşağıdaki eksiksiz kod örneği, mevcut çalışma dizininde bulunan iki görüntüyü bir PDF dosyasına dönüştürmek için iText'i kullanır.
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class InsertImagePDF {
public static void main(String[] args) throws IOException {
String currDir = System.getProperty("user.dir");
// Getting path of current working directory to create the pdf file in the same directory
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class InsertImagePDF {
public static void main(String[] args) throws IOException {
String currDir = System.getProperty("user.dir");
// Getting path of current working directory to create the pdf file in the same directory
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}
Lisanslama
iText açık kaynaklıdır ve AGPL lisansı altındadır.
Bu, iText içeren bir uygulamayı kullanan herkesin uygulamanın kaynak kodunun tam bir kopyasına hak kazandırılmasını sağlar, bunu kurumsal bir ağ üzerinde veya internet üzerinden yapsalar bile.
İş uygulamaları için kullanmayı planlıyorsanız, lisans fiyatları hakkında konuşmak için iText ile doğrudan iletişime geçin.
IronPDF geliştirme için ücretsizdir ve her zaman ticari dağıtım için lisanslanabilir. IronPDF Lisans Detayları: tek proje kullanımı, bireysel geliştiriciler, ajanslar ve küresel şirketler için, ayrıca SaaS ve OEM yeniden dağıtımı için. Tüm lisanslar, 30 günlük para iade garantisi, bir yıllık ürün desteği ve güncellemeleri, geliştirici/staging/üretim için geçerliliği ve ayrıca kalıcı bir lisans (tek seferlik satın alma) içerir.
Lite paketi için fiyatlandırma $999 itibarıyla başlamaktadır.
- Geliştiriciler, kütüphaneyi geliştirme sürecinde sınırsız bir şekilde kullanmanın keyfini çıkarabilir. Genel lisanslama açısından, oranlar oldukça uygun maliyetlidir.
- 1 yıllık ücretsiz sınırsız destek.
- Lisanslama amaçları için ücretsiz deneme sürümleri de mevcuttur.
- Tüm lisanslar için 30 günlük para iade garantisi mevcuttur.
- Lisanslar tüm ortamlar için geçerlidir (geliştirme, aşama, üretim, vb.).
- Lisanslar bir yıl boyunca koşulsuz destek içerir.
- IronPDF lisansları için tek seferlik bir satın alma gereklidir.
IronPDF vs iText
iText ile IronPDF arasında birkaç önemli fark vardır.
iText'in API'si, programlanabilir bir modele dayalı olarak yapılandırılmıştır. Bu modelde PDF özellikleri ve içeriğinin manipülasyonu daha düşük seviyeli ve ayrıntılıdır. Programcıya daha fazla kontrol ve esneklik sağlarken, aynı zamanda kullanım senaryolarını uygulamak için daha fazla kod yazmayı gerektirir.
IronPDF'in API'si, geliştiricinin verimliliğini optimize etmek etrafında yapılandırılmıştır. IronPDF, geliştiricilerin yalnızca birkaç satır kodla PDF düzenleme, değiştirme, oluşturma ve diğer karmaşık görevleri tamamlamalarını sağlayarak işleri basitleştirir.
Sonuç
Iron Software'un tüm müşterileri, yalnızca iki tıklama ile tüm paket paketini satın alma seçeneğine sahiptir. Şu anda, Iron Software Suite içindeki beş kütüphaneyi ve her biri için sürekli desteği, suite içindeki iki kütüphanenin maliyetine satın alabilirsiniz.
Sıkça Sorulan Sorular
Bir Java kütüphanesi kullanarak HTML'den PDF'ye nasıl dönüştürülür?
IronPDF'nin renderHtmlAsPdf yöntemini kullanarak HTML dizelerini PDF belgelerine dönüştürebilirsiniz. Ayrıca renderHtmlFileAsPdf yöntemi ile HTML dosyalarını PDF'ye dönüştürebilirsiniz.
Java PDF kütüphanesinin kurulum adımları nelerdir?
Java için IronPDF'yi kurmak için, pom.xml dosyanızda bir bağımlılık olarak belirtmeniz veya IronPDF Maven Deposu'ndan .jar dosyasını manuel olarak indirip projenizin sınıf yoluna dahil etmeniz gerekir.
Java için IronPDF, iTextPDF ile nasıl kıyaslanır?
IronPDF, görevleri daha az kod satırıyla kolaylaştırmaya odaklanır ve HTML'den PDF'ye dönüşümler için bir Chrome motoru kullanır. iTextPDF, daha ayrıntılı kontrol sunar ancak işleme daha fazla kod gerektirir.
Bir Java PDF kütüphanesi kullanarak PDF'ye görüntü ekleyebilir miyim?
Evet, IronPDF ile PdfDocument.fromImage yöntemini kullanarak bir liste resim dosya yolu sağlayarak görüntüleri tek bir PDF dosyasına dönüştürebilirsiniz.
Java PDF kütüphanesi hangi lisanslama seçeneklerini sunar?
IronPDF, tek proje, bireysel geliştirici, ajans ve kurumsal lisanslar gibi esnek lisanslama seçenekleri sunar ve SaaS ve OEM yeniden dağıtımı için seçenekler içerir. Tüm lisanslar 30 günlük para iade garantisi ve bir yıl destek ile gelir.
Java için IronPDF kullanarak PDF'leri düzenlemek mümkün mü?
Evet, IronPDF, PDF belgelerini düzenlemenize, birleştirmenize ve işlemenize olanak tanır. HTML, ASPX ve MVC gibi birden fazla web formatını işlerken başlıklar eklemek ve daha fazlası için araçlar sunar.
Java PDF kütüphaneleri için ücretsiz seçenekler var mı?
iTextPDF, uygulamayı kullanan kaynağı açık bir şekilde paylaşmayı gerektiren AGPL lisansı altında açık kaynak kodludur. IronPDF, geliştirme için ücretsizdir ancak ticari dağıtım için bir lisans gerektirir.
Java'da HTML dosyalarını PDF'ye dönüştürmenin en iyi yolu nedir?
IronPDF'nin renderHtmlFileAsPdf yöntemi, geliştiriciler için kolaylaştırılmış bir süreç sunarak HTML dosyalarını yerel veya ağ dosya yolundan PDF belgelerine dönüştürmenizi sağlar.
IronPDF, PDF oluşturma için hangi özellikleri sunar?
IronPDF, PDF'leri oluşturma, okuma ve düzenleme işlevselliği sunarak HTML5, JavaScript, CSS ve görüntü dönüşümü, başlıklar/altlıklar ekleme ve daha fazlası gibi özelliklerle birlikte geliştirici verimliliğine ve kullanım kolaylığına odaklanır.
Bir Java projesine iTextPDF'yi entegre etmek için gerekenler nelerdir?
Java projenize iTextPDF'yi dahil etmek için, pom.xml dosyanıza Maven deposu detaylarını eklemeniz ve entegrasyon için gerekli olan .jar dosyalarını indirmeniz gerekmektedir.












