Java ile HTML'den PDF'e

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Java, geliştiricilere HTML içeriğinden PDF çıktısına doğrudan bir yol sunar ve ayrı bir düzen API'si öğrenmelerine gerek kalmaz. Kütüphane, modern bir tarayıcının yaptığı gibi HTML, CSS ve JavaScript'i işler, böylece PDF çıktısı ekranda gördüğünüzle eşleşir. Bu eğitim, kurulumunu, üç temel HTML'den PDF'e dönüştürme yöntemini ve başlıklar, alt bilgiler, sayfa boyutlandırma ve özel kenar boşlukları gibi biçimlendirme seçeneklerini ele alır.

Eğitim, IronPDF for Java kullanır. .NET sürümünü ele alan bir paralel rehber, HTML to PDF dönüştürme eğitimi için .NET adresinde mevcuttur. IronPDF ayrıca Python ve Node.js için de mevcuttur.

Hızlı Başlangıç: HTML'den PDF Dosyasına Dönüştür

Bir HTML dizgisinden PDF'e en kısa yol üç satır Java kodudur:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
JAVA

Bugün IronPDF ile projenizde ücretsiz bir deneme ile başlayın.

İlk Adım:
green arrow pointer

İçindekiler

IronPDF'i Maven Projesine Nasıl Eklerim?

IronPDF'yi bir Maven projesine eklemek için, projenin pom.xml bağımlılık bloğuna iki giriş yapılması gerekir. İlk giriş, IronPDF kütüphanesini çeker; ikincisi, IronPDF'in çalıştırma sırasında motor mesajlarını yazabilmesi için bir SLF4J kayıt sağlayıcısı ekler.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-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/format-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>
XML

ironpdf öğesi, IronPDF for Java'nın en son sürümüne ve değişiklik günlüğüne atıfta bulunur. slf4j-simple bağımlılığı, temel bir günlük kaydı arka ucu sağlar. You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.

Her iki girişi de ekledikten sonra, proje kök dizininden mvn install komutunu çalıştırarak yapıları indirin. Maven resolves the dependency against Maven Central.

İpuçlarıpom.xml dosyanıza eklemeden önce, com.ironsoftware:ironpdf için Maven Central sayfasını kontrol ederek en son sürüm numarasını doğrulayın.

IronPDF JAR'ını Manuel Olarak Java'ya Nasıl Kurarım?

Maven veya başka bir bağımlılık yöneticisi kullanmayan projeler, JAR'ı doğrudan indirip ve sınıf yoluna ekleyerek IronPDF'i ekleyebilir. IronPDF for Java indirme sayfasına gidin ve fat-JAR dosyasını indirin.

Fat-JAR, tüm bağımlılıkları paketler, bu yüzden ana artifact dışında ek sınıf yolu girişleri gerekmez. Optionally download an SLF4J implementation JAR to enable logging.

IDE'nizin kütüphane yönetim panelini kullanarak her iki JAR dosyasını da projenin sınıf yoluna ekleyin veya terminalden derleme ve çalıştırma sırasında -classpath girişlerini belirtin.

IronPDF'i Java Kaynak Dosyalarıma Nasıl İçe Aktarırım?

com.ironsoftware.ironpdf paketi, tüm dönüştürme ve işleme bileşenlerini içerir. IronPDF yöntemlerini çağıran her Java dosyasının en üstüne aşağıdaki import ifadesini ekleyin.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
JAVA

Belirli sınıfları adlandıran hedefli bir içe aktarma da geçerlidir: import com.ironsoftware.ironpdf.PdfDocument;. Keşif sırasında joker karakterli import kullanışlıdır.

IronPDF için Java'da Lisans Anahtarı Nasıl Ayarlanır?

IronPDF for Java, lisans anahtarı olmadan ücretsiz kullanılabilir, ancak tüm oluşturulan veya değiştirilmiş PDF belgelerine döşeme şeklinde bir filigran uygular. Filigranı kaldırmak için, herhangi bir dönüştürme veya manipülasyon yöntemini çağırmadan önce geçerli bir lisans anahtarı sağlayın.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

setLicenseKey çağrısını, herhangi bir PdfDocument yöntemi çağrılmadan önce, uygulamanın başlangıcında yerleştirin. Lisans anahtarı satın alın veya ücretsiz deneme başlatın ve filigransız PDF'ler oluşturun.

IronPDF licensing page showing how to obtain a license key to remove watermarks from generated PDFs

Geçerli bir lisans anahtarı, oluşturulan PDF'lerden döşenmiş filigranı kaldırır. IronPDF lisanslama sayfasında bir tane edinin veya ücretsiz bir deneme talep edin.

Günlük Dosyası Konumu Ayarlama (İsteğe Bağlı)

Varsayılan olarak, IronPDF motor mesajlarını uygulamanın kök dizininde IronPdfEngine.log adlı bir dosyaya yazar. Günlük dosyası yolunu değiştirmek için, herhangi bir PDF işlemi gerçekleştirmeden önce Settings.setLogPath komutunu çağırın.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
JAVA

Lütfen dikkate alınsetLogPath çağrısı, tüm PdfDocument çağrılarından önce gelmelidir. Dönüştürme başladıktan sonra çağrılması o oturum üzerinde etkili olmaz.

HTML Dizesini Java'da PDF'ye Nasıl Dönüştürürüm?

PdfDocument.renderHtmlAsPdf(String html), geçerli herhangi bir HTML işaretlemesini bir PDF belgesine dönüştürür. Yöntem, ham bir HTML dizesini kabul eder ve kaydedilebilen, birleştirilebilen veya daha fazla değiştirilebilen bir PdfDocument nesnesi döndürür.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
JAVA
PDF output from IronPDF renderHtmlAsPdf showing an H1 heading rendered faithfully from an HTML string

IronPDF, HTML biçimlendirmesini doğrudan piksel hassasiyetinde bir PDF'ye işliyor. Burada gösterilen çıktı, yukarıdaki kod örneği tarafından üretilmiştir.

İşleme motoru Chromium tabanlıdır, bu nedenle Chrome'da çalışan herhangi bir HTML, CSS veya JavaScript, PDF'de doğru şekilde işlenir. Bu, Flexbox düzenleri, CSS Grid, web yazı tipleri, SVG'ler ve JavaScript tabanlı grafikler içerir.

Yöntemin aşırı yüklenmiş bir sürümü, temel yol için ikinci bir argüman kabul eder: renderHtmlAsPdf(String html, String basePath). Bu temel yol, yerel stil dosyalarına, görüntülere ve betiklere göreli referansları çözmek için kullanılır.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
JAVA

Temel yol, yerel dosya sistemindeki bir dizine veya uzaktaki bir URL'ye işaret edebilir. IronPDF, işleme sırasında referans alınan varlıkları o konumdan alır.

IronPDF renderHtmlAsPdf output showing a full-page document with stylesheet applied, CSS styles preserved from the HTML source

Temel bir yol sağlandığında, IronPDF, tam anlamıyla stil sahibi bir PDF üretmek için yerel CSS ve görüntü referanslarını çözer.

İpuçlarıYerel varlık çözümlemesinin çalışması için, referans verilen tüm dosyalar temel yoldan erişilebilir olmalıdır. İleri eğik çizgi kullanan yollar hem Windows hem de Linux üzerinde çalışır.

Bu yöntemin odaklanmış bir görünümü için HTML dizesini PDF oluşturmak için kod örneğine bakın.

URL'yi Java'da PDF'ye Nasıl Dönüştürürüm?

PdfDocument.renderUrlAsPdf(String url), belirtilen URL'deki sayfayı alır ve çıktıyı PDF/A olarak kaydetmeden önce tam DOM'u (JavaScript yürütmesi dahil) işler.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
JAVA
PDF generated by IronPDF from the Wikipedia PDF article page, showing multi-column layout and navigation elements preserved

IronPDF, bir web sayfasının tam işlenmiş durumunu, JavaScript tarafından üretilen dinamik içerik dahil, yakalar.

Chromium işleme motoru, dış stil dosyalarını, yazı tiplerini ve JavaScript dosyalarını alır; bunun sonucunda oluşan PDF, sayfanın görsel durumunu doğru bir şekilde yansıtır. Bu yöntem, web panolarından rapor oluşturma, halka açık web içeriğini arşivleme veya istemci tarafı işleme dayalı veri görselleştirmelerini dönüştürme için uygundur.

ÖnemliURL'den PDF'ye dönüştürme, IronPDF çalıştıran sunucudan dışarıya HTTP/HTTPS erişimi gerektirir. Üretime dağıtmadan önce ağ politikalarının buna izin verdiğinden emin olun.

Özel istek başlıkları ve kimlik doğrulama gibi ek seçenekler için URL'den PDF'ye dönüştürme örneğine bakın.

HTML Dosyasını Java'da PDF'ye Nasıl Dönüştürürüm?

PdfDocument.renderHtmlFileAsPdf(String filePath), yerel dosya sisteminden bir HTML dosyasını okur ve bunu PDF'ye dönüştürür. Yöntem, HTML dosyasındaki her türlü göreli varlık referansını dosyanın dizinine göre otomatik olarak çözer.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
JAVA

Yöntem, çok dosyalı HTML projelerini doğru bir şekilde işler. Yukarıdaki örnekte, TestInvoice1.html aynı dizindeki bir stil sayfasına bağlanırsa, IronPDF görüntüleme sırasında bu stil sayfasını uygular. Sonuç, kaynak dosyanın tarayıcıda gösterilen görünümüne uygun bir PDF'dir.

İpuçlarıBir sunucu uygulamasından renderHtmlFileAsPdf çağrısı yaparken mutlak dosya yollarını kullanın. Göreceli yollar, JVM'in çalışma dizinine göre çözümlenir; bu ise HTML dosyasının konumuyla farklı olabilir.

Bu yöntem, disk üzerinde HTML şablonlarını koruyan PDF oluşturma iş akışları için özellikle yararlıdır: fatura üreteçleri, rapor şablonları ve form çıktı sistemleri yaygın kullanım alanlarıdır.

Java'da PDF Sayfa Boyutu ve Yönlendirmesini Nasıl Ayarlarım?

Sayfa boyutu ve yönü ChromePdfRenderOptions sınıfı aracılığıyla kontrol edilir. Bir ChromePdfRenderOptions örneği oluşturun, özelliklerini yapılandırın ve bunu herhangi bir renderHtmlAsPdf çağrısına ikinci argüman olarak aktarın.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
JAVA

PaperSize, A4, Letter, Legal, A3 ve A5 gibi standart seçenekleri içerir. PaperOrientation, Portrait (varsayılan) veya Landscape değerlerini kabul eder.

Standart olmayan boyutlar için setCustomPaperSizeInMillimeters(double width, double height) veya setCustomPaperSizeInInches(double width, double height) kullanın:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
JAVA

PaperSize sabitlerinin ve boyutlandırma seçeneklerinin tam listesi için özel PDF kağıt boyutu örneğine bakın.

Java'da PDF'ye Özel Kenar Boşlukları Nasıl Belirlerim?

Kenar boşluğu boyutları da ChromePdfRenderOptions ile ayarlanır. Kütüphane, milimetre cinsinden değerleri kabul eden üst, alt, sol ve sağ kenar boşlukları için ayrı ayarları sunar.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
JAVA

Tüm kenar boşluklarını sıfıra ayarlamak, etiketler, sertifikalar veya grafik düzenleri gibi tam sayfa tasarımları için kullanışlı olan beyaz alanı tamamen kaldırır.

Lütfen dikkate alınIronPDF kenar boşluğu değerleri milimetre cinsindedir. 0 değeri, o kenardaki kenar boşluğunu devre dışı bırakır. Baskı sürücüsü kenar boşluklarının, IronPDF kenar boşluklarından ayrı olduğunu unutmayın; sayfa kenarından kenarına dolu olan içerik bastırıldığında yine de kesilebilir.

Özel kenar boşlukları örneği için çalışan bir kod örneği inceleyin.

Java'da PDF'ye Başlıklar ve Altbilgiler Nasıl Eklerim?

IronPDF, iki tür üstbilgi ve altbilgiyi destekler: metin tabanlı (TextHeaderFooter) ve HTML tabanlı (HtmlHeaderFooter). Metin başlıklar hızlıca yapılandırılır; HTML başlıklar tam stil ve görüntü desteği sunar.

Metin Başlık ve Altbilgi Ekleme

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
JAVA

{page}, {total-pages}, {date}, {time}, {url} ve {html-title} birleştirme alanları, görüntüleme sırasında belgeye özgü değerlerle değiştirilir.

HTML Başlık Ekleme

Logo, marka renkleri veya karmaşık düzenler gerektiren başlıklar için HtmlHeaderFooter kullanın:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
JAVA

İpuçlarıHTML başlık parçaları kendi sayfa bağlamlarında işlenir. Dış görüntü yolları, mutlak URL'ler veya IronPDF çalıştıran sunucudan erişebilir yollar olmalıdır.

Başlıklar ve altbilgiler kod örneği için ek birleştirme alanı seçenekleri ve çok sayfalı davranışa bakın.

Java'da PDF'ye Filigran Nasıl Uygularım?

IronPDF, mevcut PDF sayfalarına HTML içeriği etkilenmeden ekleyerek filigranlar uygular. Bu yaklaşım, konum, saydamlık ve stil üzerinde tam kontrol sağlar.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
JAVA

applyStamp yöntemi standart HTML/CSS'yi kabul eder. Metin için yarı saydam rgba renginin kullanılması, filigranın altındaki belge içeriğini gizlemeden görünür olmasını sağlar.

Görüntü tabanlı filigranlar veya belirli sayfa aralıklarına uygulanan filigranlar için bkz: Java için özel filigran rehberi.

Java'da Bir PDF Dosyası Nasıl Sıkıştırılır?

Görüntü içeren PDF dosyalarında, IronPDF, gömülü görüntüleri daha düşük çözünürlüklere örnekleyerek dosya boyutunu azaltabilir. Mevcut PdfDocument üzerinde compressImages kullanın.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
JAVA

Kalite parametresi 1 ile 100 arasında bir tam sayı olup, 100 tam görüntü kalitesini muhafaza eder ve düşük değerler görüntü sadakatinden ödün vererek dosya boyutunu azaltır. 60 ile 80 arasında bir değer, çoğu iş belgesi için boyut ve görsel kalite arasında pratik bir denge sağlar.

UyarıGörüntü sıkıştırması yıkıcıdır. Sıkıştırılmış bir PDF'den orijinal görüntü verileri kurtarılamaz. Orijinal kaliteye sonradan ihtiyaç duyulabileceği durumlar için daima kaynak dosyayı saklayın.

Görüntü kalitesi eşiklerine dair daha fazla bilgi için PDF sıkıştırma örneğine bakın.

Sonraki Adımlar

Bu eğitimde, sayfa boyutu ayarlama, kenar boşlukları, başlıklar, altbilgiler, filigranlar ve sıkıştırmanın yanı sıra üç HTML'den PDF'ye dönüştürme yöntemi (dize, URL ve dosya) yer aldı. Bunlar, Java sunucu uygulamaları için en yaygın PDF biçimlendirme işlemleridir.

Java için IronPDF ile daha ileriye gitmek için:

Su işareti olmadan PDF oluşturmak için ücretsiz denemeye başlayın veya bir üretim projesine IronPDF eklemek için lisans seçeneklerini görüntüleyin.


Hızlı Öğretici Erişimi

IronPDF for Java IntelliJ proje indirmesi

Bu Eğitimi Java Kaynak Kodu olarak İndirin

Bu eğitim için tam HTML'den PDF'ye Java kaynak kodu, ücretsiz indirilebilir sıkıştırılmış bir IntelliJ projesi olarak mevcuttur.

İndir

Bu Eğitimi GitHub'da Keşfedin

Bu proje için kaynak kodu, Eclipse veya diğer Java IDE'lerine de aktarılabilen bir IntelliJ IDEA projesi olarak GitHub'da mevcuttur.

IronPDF for Java format-pdfs örnekleri
IronPDF Java eğitim kaynak kodu için GitHub deposu
IronPDF Java API referans belgeleri

API Referansını Görüntüle

Tüm sınıfların, yöntemlerin, alanların ve enumların ayrıntılarını kapsayan IronPDF for Java API referansını, com.ironsoftware.ironpdf paketinde keşfedin.

IronPDF Java API Referansını Görüntüle

Sıkça Sorulan Sorular

HTML dizelerini Java'da PDF'ye nasıl dönüştürürüm?

IronPDF for Java kütüphanesinden PdfDocument.renderHtmlAsPdf(String html) kullanın. HTML işaretinizi bir dize argümanı olarak iletin, ardından dosyayı diske yazmak için döndürülen PdfDocument nesnesinde saveAs çağırın.

Maven projesine IronPDF nasıl eklenir?

pom.xml dosyanızın bölümüne com.ironsoftware:ironpdf paketini ekleyin. Ayrıca, günlüğü etkinleştirmek için org.slf4j:slf4j-simple gibi bir SLF4J uygulaması ekleyin. Her iki paketi indirmek için mvn install çalıştırın.

IronPDF for Java kullanılarak oluşturulan bir PDF'nin sayfa boyutunu nasıl ayarlarım?

ChromePdfRenderOptions nesnesi oluşturun ve setPaperSize(PaperSize.A4) (veya başka bir sabit) çağrısında bulunun. Seçenek nesnesini renderHtmlAsPdf için ikinci argüman olarak iletin. Standart olmayan boyutlar için setCustomPaperSizeInMillimeters kullanın.

Java'da bir PDF'ye başlık ve altbilgi nasıl eklerim?

Düz metin başlık ve altbilgileri için TextHeaderFooter veya tamamen stil verilmiş HTML içeriği için HtmlHeaderFooter kullanın. Nesneyi metin veya HTML ile yapılandırın, setTextHeader veya setHtmlHeader kullanarak bir ChromePdfRenderOptions örneğinde ayarlayın ve seçenekleri işleme yöntemine iletin.

IronPDF for Java kullanarak bir PDF'ye filigran nasıl uygularım?

Mevcut bir PdfDocument üzerinde applyStamp(String htmlFragment) çağırın. Filigranın görünümünü tanımlayan bir HTML dizesi geçirin, CSS kullanarak position:absolute, transform:rotate ve yarı saydam bir rgba rengi kontrol etmeyi kullanarak altındaki içeriği kapatmadan metin bindirin.

IronPDF for Java bir web sayfasını PDF'ye dönüştürebilir mi?

Evet. Sayfa URL'si ile PdfDocument.renderUrlAsPdf(String url) çağrısında bulunun. IronPDF, sayfayı almak ve yürütmek için bir Chromium işleme motoru kullanır, dahil JavaScript, ve PDF çıktısını oluşturur.

IronPDF ile oluşturulan PDF'lerden filigranı nasıl kaldırırım?

Herhangi bir PDF işlemi yapmadan önce License.setLicenseKey("YOUR-LICENSE-KEY") çağırın. Filigran, geçerli bir lisans anahtarı olmadan oluşturulan PDF'lere uygulanır. ironpdf.com/java/licensing/ adresinden bir lisans veya ücretsiz deneme anahtarı alabilirsiniz.

IronPDF for Java ile bir PDF dosyasını nasıl sıkıştırırım?

PdfDocument.fromFile kullanarak PDF'yi yükleyin, ardından compressImages(int quality) 1'den 100'e kadar bir değerle çağırın. Düşük değerler, gömülü görüntülerin daha düşük çözünürlükte yeniden örneklenmesiyle dosya boyutunu azaltır. Sıkıştırılmış dosyayı yazmak için saveAs çağrısında bulunun.

IronPDF for Java özel sayfa kenarları destekliyor mu?

Evet. ChromePdfRenderOptions kullanın ve milimetre cinsinden değerlerle setMarginTop, setMarginBottom, setMarginLeft ve setMarginRight çağırın. Kenar boşluklarını uygulamak için seçenekleri işleme yöntemine iletin.

IronPDF hangi Java sürümlerini destekliyor?

IronPDF for Java, Java 8 ve sonrası sürümleri destekler. Kütüphane, com.ironsoftware:ironpdf Maven paketi olarak ve ironpdf.com/java/ adresinden bağımsız bir fat-JAR indirilebilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz?
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.