Java ile HTML'den PDF'e
IronPDF for Java, modern tarayıcılarda bulunan aynı işleme motorunu kullanarak HTML içeriğini piksel mükemmel PDF belgelerine dönüştürür. Java uygulamaları, ek işleme yazılımı veya bir GUI ortamı gerektirmeden HTML dizelerinden, yerel HTML dosyalarından veya canlı web sayfalarından PDF oluşturabilir.
Bu eğitim, IronPDF for Java'da mevcut olan tüm üç HTML'den PDF'ye dönüştürme yöntemlerini ve ayrıca kurulum, lisanslama ve yapılandırma seçeneklerini kapsar. IronPDF for .NET'i halihazırda kullanan geliştiriciler, Java API'sini tanıdık bulacaklardır; eşdeğer .NET eğitimi HTML'den PDF'ye .NET Eğitiminda mevcuttur.
Hızlı Başlangıç: HTML'den PDF oluşturun
Aşağıdaki örnek, bir HTML dizesinden bir sayfa PDF oluşturur ve bunu diskete kaydeder. Maven üzerinden kütüphanenin kurulmasından sonra (Adım 1), gerekli olan tüm kod budur:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
Bugün IronPDF ile projenizde ücretsiz bir deneme ile başlayın.
İçindekiler
- Bir Java Projesinde IronPDF Nasıl Kurulur?
- HTML Dizesini Java'da PDF'ye Nasıl Dönüştürürüm?
- HTML Dizesinde Yerel Varlıkları Nasıl Yükleyebilirim?
- URL'yi Java'da PDF'ye Nasıl Dönüştürürüm?
- HTML Dosyasını Java'da PDF'ye Nasıl Dönüştürürüm?
- PDF Çıktı Ayarlarını Nasıl Özelleştiririm?
- Başlıklar ve Altbilgiler PDF'ye Nasıl Eklenir?
- Özel Kenar Boşlukları ve Sayfa Boyutu Nasıl Ayarlanır?
- PDF'ye Filigran Nasıl Eklenir?
- Java'da PDF'den Metin Nasıl Çıkartılır?
- Java'da PDF'den Görüntü Nasıl Çıkartılır?
- PDF Dosyası Nasıl Sıkıştırılır?
- PDF Nasıl Programatik Olarak Yazdırılır?
- Sonraki Adımlar
Bir Java Projesinde IronPDF Nasıl Kurulur?
IronPDF for Java, Maven Central depo üzerinde mevcuttur. Önerilen kurulum yöntemi Maven'dir, ancak yapı sistemi kullanılmayan projeler için manuel JAR yükleme de desteklenmektedir.
Maven Bağımlılığı Olarak Kurulum
Projenizin pom.xml dosyasının dependencies bölümüne aşağıdaki öğeleri ekleyin:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
İlk eser, IronPDF'yi alır. The second is an SLF4J logging implementation. IronPDF, işleme sırasında tanılayıcı mesajlar vermek için SLF4J kullanır; you can substitute it with Logback or Log4j 2, or omit logging entirely.
Bağımlılıkları indirmek için proje kök dizininde mvn install komutunu çalıştırın. Sürüm numarasını sabitlemeden önce IronPDF'nin en son sürümünü kontrol edin, zira değişiklik günlüğü tüm mevcut ve geçmiş yayınları listeler.
JAR Dosyasını Manuel Yükleme
Maven kullanmayan geliştiriciler, IronPDF fat JAR dosyasını doğrudan Maven Central'dan indirebilir ve bunu proje sınıf yoluna ekleyebilir. Fat JAR, tüm geçişli bağımlılıkları bir araya getirir.
IronPDF Paketini İçe Aktarın
Tüm PDF oluşturma ve işleme sınıfları com.ironsoftware.ironpdf paketinde bulunur. IronPDF kullanan herhangi bir Java kaynak dosyasına bu içe aktarma ifadesini ekleyin:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
Lisans Anahtarını Ayarlayın
Bir lisans anahtarı olmadan, IronPDF her sayfada döşenmiş bir filigran ile PDF dönüştürür. Filigranı kaldırmak için, herhangi bir görüntüleme yöntemini çağırmadan önce License.setLicenseKey öğesine geçerli bir lisans anahtarı iletin:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
Bu çağrıyı uygulama başlatıldığında, herhangi bir PDF oluşturma mantığı çalışmadan önce yerleştirin. Deneme anahtarı almak için ücretsiz denemeye başlayın veya üretim kullanımı için lisans seçeneklerini görüntüleyin.
Günlük Dosya Yolunu Yapılandırın
IronPDF, uygulama çalışma dizininde IronPdfEngine.log adlı bir günlük dosyasına görüntüleme tanılama bilgilerini yazar. Dosya adını veya konumunu değiştirmek için Settings.setLogPath'yi arayın:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
Settings.setLogPath'yi çağırın. İşleme başladıktan sonra yapılan çağrılar etkili olmayacaktır.HTML Dizesini Java'da PDF'ye Nasıl Dönüştürürüm?
PdfDocument.renderHtmlAsPdf, bir HTML dizesini PdfDocument nesnesine dönüştürür; bu nesne daha sonra diske kaydedilebilir veya diğer işleme yöntemlerine aktarılabilir. Bu yöntem, <head> ve <body> öğeleriyle tam sayfa işaretlemesi dahil olmak üzere W3C uyumlu tüm HTML'leri kabul eder.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
Yöntem, bir PdfDocument örneği döndürür. PDF'yi diske yazmak için saveAs'yi çağırın veya akış veya depolama için ham PDF baytlarını almak için getBinaryData'yi kullanın.
renderHtmlAsPdf, tüm HTML, CSS ve JavaScript içeriğini standartlara uygun bir tarayıcının yaptığı şekilde işler. Ortaya çıkan PDF, sayfanın Chrome'da görüntülendiğinde tam olarak nasıl görüneceğini yansıtır.
Bu yöntem hakkında daha fazla ayrıntı için, IronPDF Java örnekleri sayfasındaki HTML dizesinden PDF'ye kod örneği bölümüne bakın.
HTML Dizesinde Yerel Varlıkları Nasıl Yüklerim?
HTML genellikle stil dosyaları, resimler, betikler gibi dış varlıkları göreli yoldan referans alır. renderHtmlAsPdf, bu referansları çözümlemek için temel yolu belirleyen isteğe bağlı ikinci bir argüman kabul eder. Temel yol, yerel bir dizini ya da bir URL'yi işaret edebilir.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
Temel yol argümanı, hem mutlak dosya sistemi yolları hem de URL dizileri ile çalışır. Bu, renderHtmlAsPdf'yi diskte depolanan veya bir web sunucusundan sunulan şablonlardan PDF'ler oluşturmak için uygun hale getirir.
C:\invoices\) kullanan yollar, platformlar arası uyumluluk için düz eğik çizgiye dönüştürülmeli veya Paths.get() kullanılmalıdır.URL'yi Java'da PDF'ye Nasıl Dönüştürürüm?
PdfDocument.renderUrlAsPdf, belirtilen URL'deki canlı bir web sayfasını alır ve PDF olarak görüntüler. Yöntem, işlenmeden önce tam sayfayı, tüm dış CSS, JavaScript ve resimleri dahil ederek yükler.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
renderUrlAsPdf, işlenen sayfayı yakalamadan önce JavaScript'in yürütülmesinin tamamlanmasını bekler; bu da, dinamik olarak oluşturulan içeriğin (grafikler veya AJAX aracılığıyla yüklenen veriler gibi) çıktı PDF'sinde görüneceği anlamına gelir.
Eşdeğer .NET uygulaması veya ek URL-to-PDF seçenekleri için, URL'yi PDF'ye dönüştürme kod örneği bölümüne bakın.
HTML Dosyasını Java'da PDF'ye Nasıl Dönüştürürüm?
PdfDocument.renderHtmlFileAsPdf yerel bir HTML dosyasını okur ve PDF olarak görüntüler. HTML dosyasında referans verilen tüm göreli yollar (stil dosyaları, resimler, betikler) HTML dosyasının dizinine göre çözülür.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
Bu yaklaşım, fatura şablonları, raporlar veya HTML dosyaları ve dosyalarına bağlı CSS ve resim varlıkları olarak saklanan sertifikalar gibi şablonlanmış belge oluşturma için iyi çalışır. IronPDF, tüm CSS yerleşim kurallarını koruyarak dosyayı bir tarayıcı kadar doğrulukla işler.
{i:(HTML dosya yolu mutlak olmalıdır. renderHtmlFileAsPdf'ye aktarılan göreceli yollar, JVM çalışma dizininden çözümlenir; bu da sunucu ortamlarında beklenmedik sonuçlara yol açabilir.)}]
PDF Çıktı Ayarlarını Nasıl Özelleştiririm?
PdfRenderOptions sınıfı, sayfa düzenini ve görüntüleme davranışını kontrol eder. Bir PdfRenderOptions örneği oluşturun, gerekli özellikleri yapılandırın ve bunu herhangi bir görüntüleme yöntemine aktarın.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
PdfRenderOptions sınıfı, DPI, görüntü alanı genişliği, kağıt yönü ve zaman aşımı değerlerini kontrol etmek için ek özellikler sağlar. Mevcut seçeneklerin tam listesi için PDF üretim ayarları kod örneği bölümüne bakın.
PDF'ye Üstbilgi ve Altbilgi Nasıl Eklerim?
IronPDF, hem metin tabanlı hem de HTML tabanlı üstbilgi ve altbilgileri destekler. Metin üstbilgileri, sayfa numaraları ve belge başlıkları gibi yaygın değerler için önceden tanımlanmış birleştirme alanları kullanır; HTML üstbilgileri, tamamen özelleştirilmiş yerleşimler için rastgele HTML işaretlemelerini kabul eder.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
{page} ve {total-pages} birleştirme alanları, görüntüleme sırasında geçerli sayfa numarası ve toplam sayfa sayısı ile değiştirilir. Şirket logosu içeren altbilgi gibi daha gelişmiş düzenler için, TextHeaderFooter yerine HtmlHeaderFooter kullanın.
HTML tabanlı üstbilgi ve altbilgiler hakkında tam ayrıntılar için, üstbilgi ve altbilgi ekleme kod örneği bölümüne bakın.
Özel Kenar Boşlukları ve Sayfa Boyutunu Nasıl Ayarlayabilirim?
Sayfa boyutu ve kenar boşlukları, PDF oluşturulmadan önce PdfRenderOptions nesnesinde yapılandırılır. IronPDF, standart kağıt boyutlarını (A4, Letter, Legal) ve tamamen özel boyutları destekler.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
Desteklenen kağıt boyutları ve birimlerinin tam listesi için özel kağıt boyutu kod örneği ve özel kenar boşlukları kod örneği bölümüne başvurun.
PDF'ye Nasıl Filigran Eklerim?
PdfDocument.applyWatermark, belgedeki her sayfaya metin veya resim filigranı uygular. Filigran, varsayılan olarak sayfa içeriğinin altındaki ayrı bir katmanda görüntülenir veya isStampBehind bayrağı false olarak ayarlandığında sayfa içeriğinin üstünde görüntülenir.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
HTML yaklaşımı, yazı tipi, boyut, renk ve şeffaflık dahil olmak üzere filigran stilini hassas bir şekilde kontrol etme imkanı verir. Döngüsel karo desenleri veya resim tabanlı damgalar gibi ileri düzeyde filigran yapılandırmaları için, filigran nasıl yapılır kılavuzu bölümüne bakın.
Java'da Bir PDF'den Metin Nasıl Çıkarırım?
PdfDocument.extractAllText, bir PDF'ye gömülü metin içeriğini okur ve bunu tek bir String olarak döndürür. Bu yöntem, belgede tüm sayfalardan seçilebilir metin çıkarır.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
Metin çıkarımı, metnin seçilebilir glifler olarak saklandığı PDF'lerde çalışır. Resim tabanlı taramalar olan PDF'ler için, render edilmiş sayfa imgelerinden metin çıkarmak için IronPDF'i bir OCR kütüphanesi ile eşleştirmeyi düşünün.
Sahife başına metin çıkarmak dahil ek seçenekler için, PDF'den metin çıkarma kod örneği bölümüne bakın.
Java'da Bir PDF'den Görüntüler Nasıl Çıkarırım?
PdfDocument.extractAllImages, PDF'ye gömülü her resim için bir tane olmak üzere BufferedImage nesnelerinin bir listesini döndürür. Döndürülen görüntüler direkt olarak diske kaydedilebilir veya aşağı akış görüntü işleme mantığına iletilebilir.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
Belirli sayfalardan görüntü çıkarmak dahil daha fazla çıkarım seçeneği için, PDF'den görüntü çıkarma kod örneği bölümüne bakın.
Bir PDF Dosyasını Nasıl Sıkıştırırım?
PdfDocument.compressImages, gömülü görüntüleri daha düşük kalitede yeniden kodlayarak PDF dosya boyutunu küçültür. Yöntem, 1'den (minimum kalite, en küçük dosya) 100'e (maksimum kalite) kadar bir kalite değeri kabul eder.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
Fotoğraflar veya yüksek çözünürlüklü grafikler içeren PDF'lerin boyutunu azaltmanın en etkili yolu görüntü sıkıştırmadır. Gömülü yazı tiplerini kaldırmak gibi ek dosya boyutu azaltma stratejileri için, PDF sıkıştırma kod örneği bölümüne bakın.
Bir PDF'yi Programlı Olarak Nasıl Yazdırırım?
PdfDocument.print, standart Java yazdırma API'sini kullanarak sistemin varsayılan yazıcısına bir PDF gönderir. Yöntem, bir yazdırma iletişim kutusu gösterilip gösterilmeyeceğini kontrol eden bir boole kabul eder.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
true değerini print yöntemine aktararak sistem yazdırma iletişim kutusunu görüntüleyin; böylece kullanıcılar, iş gönderilmeden önce bir yazıcı seçebilir ve yazdırma ayarlarını yapılandırabilir.
Sonraki Adımlar
Bu eğitim, IronPDF for Java'daki temel HTML-to-PDF dönüştürme yöntemlerini, kurulumunu, yapılandırmasını ve ortak belge işleme işlemlerini kapsıyor.
Daha ileri gitmek için:
- Burada ele alınmayan ek işleme senaryoları için HTML'den PDF Java kod örneklerinin tam setine göz atın.
- Dağıtım, çoklu iş parçacıkları güvenliği ve sunucu yapılandırmasını anlamak için IronPDF for Java belgelerini okuyun.
- Tüm yöntem imzaları ve parametre açıklamaları için IronPDF Java API referansının tamamını keşfedin.
Su işaretsiz PDF'ler oluşturmak için ücretsiz bir deneme başlatın veya projeniz için doğru planı bulmak için lisans seçeneklerine göz atın.
Hızlı Öğretici Erişimi
Bu Eğitimi Java Kaynak Kodu olarak İndirin
Bu eğitimin tam HTML'den PDF'ye Java kaynak kodu, ziplenmiş IntelliJ projesi olarak indirilebilir.
İndirBu Eğitimi GitHub'da Keşfedin
Bu projenin kaynak kodu, GitHub'da bir IntelliJ IDEA projesi olarak mevcuttur. Eclipse ve NetBeans dahil olmak üzere diğer popüler Java IDE'lerine de aktarılabilir.
GitHub'da Java HTML'den PDF'yeAPI Referansını Görüntüle
Kütüphanede mevcut olan tüm isim alanları, sınıflar, yöntemler ve enum'ları kapsayan IronPDF Java API referansını keşfedin.
API Referansını GörüntüleSıkça Sorulan Sorular
IronPDF for Java ne için kullanılır?
IronPDF for Java, Java uygulamaları içerisinde HTML içeriğini PDF belgelere dönüştürür. HTML dizilerini, yerel HTML dosyalarını ve canlı web sayfası URL'lerini dönüştürmeyi destekler ve ayrıca başlık ve altbilgi ekleme, filigran uygulama, metin çıkarımı, görsel çıkarımı ve dosya sıkıştırma araçları sunar.
Bir Java projesine IronPDF nasıl yükleyebilirim?
pom.xml dosyanıza iki Maven bağımlılığı ekleyin: com.ironsoftware:ironpdf ve org.slf4j:slf4j-simple, ardından mvn install çalıştırın. Alternatif olarak, Maven Merkezi'nden fat JAR indirin ve proje sınıf yoluna ekleyin.
HTML dizelerini Java'da PDF'ye nasıl dönüştürürüm?
HTML işaret parantezinizi PdfDocument.renderHtmlAsPdf(htmlString) ile çağırın. Metot bir PdfDocument nesnesi döndürür. Diske yazmak için pdf.saveAs("output.pdf") çağırın.
Bir URL'yi Java'da PDF'ye nasıl dönüştürürüm?
Çağrı PdfDocument.renderUrlAsPdf("https://example.com"). IronPDF sayfayı çeker, JavaScript'in yürütülmesini bekler ve ardından tamamen yüklenmiş sayfayı PDF olarak işler.
Java'da yerel bir HTML dosyasını PDF'ye nasıl dönüştürürüm?
Çağrı PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html"). Mutlak dosya yolu kullanın. IronPDF, HTML dosya dizininden göreceli CSS ve görüntü referanslarını otomatik olarak çözer.
IronPDF for Java oluşturulan PDF'lere bir filigran ekliyor mu?
Lisans anahtarı olmadan, IronPDF oluşturulan tüm PDF'lere döşenmiş bir filigran ekler. Filigranı kaldırmak için herhangi bir işleme çağrısı yapmadan önce License.setLicenseKey("YOUR-KEY") ile geçerli bir lisans anahtarı ayarlayın.
IronPDF hangi Java sürümünü gerektirir?
IronPDF for Java, Java 8 veya daha sonraki sürümleri gerektirir. Spring Boot, Java EE, Micronaut ve diğer JVM tabanlı frameworklerle uyumludur.
Java'da IronPDF ile bir PDF'ye sayfa numaralarını nasıl eklerim?
TextHeaderFooter örneği oluşturun ve setRightText("{page} of {total-pages}") çağrısında bulunun. Nesneyi pdf.addTextFooters(footer) çağrınıza iletin. Birleştirme alanları, render zamanında gerçek sayfa numaraları ile değiştirilir.
IronPDF for Java, bir PDF'den metin çıkarabilir mi?
Evet. PdfDocument.fromFile(Paths.get("file.pdf")) ile bir PDF yükleyin, ardından tüm seçilebilir metin içeriğini bir String olarak almak için pdf.extractAllText() çağrısı yapın.
Java'da bir PDF'nin dosya boyutunu nasıl küçültürüm?
pdf.compressImages(quality) çağrısı yapın, burada kalite 1 ile 100 arasında bir tamsayıdır. 60 değeri, çoğu PDF için dosya boyutu ile görüntü sadakati arasında iyi bir denge sağlar.





