Java Kullanarak İki PDF Dosyasını Birleştirme
PDF belgelerini tek bir dosyada birleştirmek, belge yönetimi süreçlerinde sıkça karşılaşılan bir gerekliliktir. Aylık raporları birleştirmek, çok parçalı formları derlemek ve faturaları gruplandırmak yaygın senaryolardır. IronPDF for Java, bu işlemi tek bir yöntem çağrısına indirger: PdfDocument.merge(). İki veya daha fazla yüklü belgeyi işleme koyduğunuzda, tüm biçimlendirme, yazı tipleri ve gömülü resimler tam olarak olduğu gibi korunmuş tek bir birleştirilmiş PDF dosyası elde edersiniz.
Bu kılavuz, en pratik dört birleştirme senaryosunu adım adım açıklamaktadır: dinamik olarak oluşturulan PDF'leri birleştirme, diskten mevcut dosyaları birleştirme, liste tabanlı bir yaklaşımla daha büyük grupları işleme ve son belgedeki sayfa sırasını kontrol etme.
Hızlı Başlangıç: Java'da PDF'leri Birleştirme
- IronPDF bağımlılığını Maven'ınıza ekleyin
pom.xml com.ironsoftware.ironpdf.PdfDocument'yi içe aktarPdfDocument.fromFile()kullanarak kaynak dosyaları yükleyin- Birleştirilmiş bir belge oluşturmak için
PdfDocument.merge(pdf1, pdf2)'yi çağırın - Sonucu
merged.saveAs()ile kaydedin
```java {title="Hızlı Başlangıç: Temel PDF Birleştirme"} //:path=/static-assets/pdf/content-code-examples/how-to/how-to-merge-two-pdf-files-java-tutorial/quickstart-merge.java import com.ironsoftware.IronPdf.PdfDocument; import java.nio.file.Paths;
// Diskten iki mevcut PDF belgesini yükle PdfDocument pdf1 = PdfDocument.fromFile(Paths.get("document1.pdf")); PdfDocument pdf2 = PdfDocument.fromFile(Paths.get("document2.pdf"));
// Tek bir belgeye birleştirin; biçimlendirme ve görseller korunur PdfDocument merged = PdfDocument.merge(pdf1, pdf2);
// Birleştirilmiş PDF/A'yı diske yaz merged.saveAs(Paths.get("merged-output.pdf"));
<div class="hsg-featured-snippet">
<h3>Minimal İş Akışı (5 adım)</h3>
1. IronPDF'yi Maven veya Gradle bağımlılığı olarak ekleyin
2. `com.ironsoftware.ironpdf.PdfDocument`'yi içe aktar
3. Her bir PDF'yi `PdfDocument.fromFile(Paths.get("file.pdf"))` ile yükleyin
4. `PdfDocument.merge(pdf1, pdf2)`'yi çağırın veya toplu işler için `PdfDocument[]` dizisini aktarın
5. Birleştirilen sonucu `merged.saveAs(Paths.get("output.pdf"))` ile kaydedin
</div>
## Java'da PDF'leri birleştirmek için ön koşullar nelerdir?
Herhangi bir kod yazmadan önce, şu dört gerekliliğin yerine getirildiğinden emin olun:
1. `JAVA_HOME` ortam değişkeni ayarlanmış olarak **Java 8 veya üstü** sürümünün yüklü olması. Platforma özgü talimatlar için [Java indirme ve yükleme kılavuz](https://www.java.com/en/download/help/download_options.html#windows)una bakın.
2. **Bir Java IDE** (bu kılavuzda [JetBrains IntelliJ IDEA](https://www.jetbrains.com/idea/download/#section=windows) kullanılmaktadır, ancak [Eclipse de](https://www.eclipse.org/downloads/) aynı derecede iyi çalışır).
3. IDE'nizde yapılandırılmış **Maven veya Gradle**. Maven'ı ilk kez kullanıyorsanız, [JetBrains Maven kurulum kılavuzu](https://www.jetbrains.com/idea/guide/tutorials/marco-codes-maven/installing-maven/) IntelliJ'deki kurulum sürecini açıklamaktadır.
4. **IronPDF kütüphanesi,** proje bağımlılığı olarak eklenmiştir. [IronPDF for Java kurulum kılavuzu,](https://ironpdf.com/java/docs/) hem Maven hem de Gradle yaklaşımlarını açıklamaktadır.
Lütfen dikkate alınIronPDF for Java, Java 8 ve sonraki sürümleri destekler. Kullanmaya başlamak için mevcut projeleri daha yeni bir JDK sürümüne güncellemeye gerek yoktur.
## IronPDF for Java'yı nasıl yüklerim?
IronPDF for Java, [Maven Central](https://search.maven.org) aracılığıyla dağıtılır; bu nedenle, onu projenize eklemek için sadece birkaç satırlık bir yapılandırma yeterlidir. Manuel JAR indirmelerine gerek yoktur.
IntelliJ IDEA'yı açın ve **Dosya -> Yeni -> Proje** menüsünden yeni bir Maven projesi oluşturun, derleme sistemi olarak Maven'ı seçin.

Projeye bir ad verin ve **Bitir'i** tıklayın. IntelliJ, proje yapısı oluşturulduktan sonra `pom.xml` dosyasını otomatik olarak açar.

`pom.xml` bölümünün `<dependencies>` kısmına aşağıdaki bağımlılık bloğunu ekleyin. Her zaman [Maven Central'da en son IronPDF sürümünü](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf) kontrol edin ve sürüm dizesini güncel olanla değiştirin.
```xml {title="pom.xml: IronPDF Bağımlılığı"}
//:path=/static-assets/pdf/content-code-examples/how-to/how-to-merge-two-pdf-files-java-tutorial/pom-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>

pom.xml'yi kaydettikten sonra, düzenleyicinin sağ üst köşesinde küçük bir senkronizasyon simgesi belirir. Maven bağımlılık indirme işlemini başlatmak için buraya tıklayın. Bağlantı hızınıza bağlı olarak, bu işlem 15 saniye ile birkaç dakika arasında sürer ve IronPDF'yi gerekli tüm geçişli bağımlılıklarla birlikte indirir.

implementation 'com.ironsoftware:ironpdf:2024.9.1''yi build.gradle bağımlılıklar bloğuna ekleyebilirler. Aynı Maven Central artefaktı her iki derleme sistemi için de geçerlidir.Yeni PDF Belgelerini Nasıl Oluşturur ve Birleştiririm?
Kaynak içerik çalışma zamanında (HTML şablonlarından, veritabanı kayıtlarından veya kullanıcı girdilerinden) oluşturulduğunda, iş akışı her parçayı önce PdfDocument olarak işleyip ardından birleştirmektir.
PdfDocument.renderHtmlAsPdf(), bir HTML dizesini bellekte PDF'ye dönüştürür. Her çağrı, diske herhangi bir ara dosya yazmadan doğrudan merge()'ye aktarılabilen bağımsız bir belge nesnesi üretir.
Birleştirmeden Önce HTML Bölümlerini Oluşturma
Aşağıdaki örnek, iki ayrı HTML dizesini belleğe yükler ve bunları tek bir belgede birleştirir. Bu model, rapor oluşturucular, fatura Builderlar ve içeriğin şablonlardan veya veritabanı satırlarından programlı olarak birleştirildiği tüm sistemler için uygundur.
```java {title="Dinamik Olarak Oluşturulan PDF'leri Birleştirme"} //:path=/static-assets/pdf/content-code-examples/how-to/how-to-merge-two-pdf-files-java-tutorial/merge-html-pdfs.java import com.ironsoftware.IronPdf.PdfDocument; import java.io.IOException; import java.nio.file.Paths;
public class Main { public static void main(String[] args) throws IOException { // Her belge bölümü için HTML içeriği String htmlA = "
First part of the report.
"; String htmlB = "Second part of the report.
"; // Her HTML dizesini bellekte bir PDF'ye dönüştürün -- diske yazma gerekmez
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
// Her iki belgeyi tek bir birleştirilmiş PDF dosyasına birleştirin
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
// Birleştirilmiş sonucu kaydet
merged.saveAs(Paths.get("assets/merged.pdf"));
}
}
Birleştirilmiş çıktı, sayfaları argüman sırasına göre birleştirir: `pdfA` sayfaları, `pdfB` sayfalarından önce gelir. HTML görüntüleme motorunun tam bir incelemesi için [Java için IronPDF HTML'den PDF'ye dönüştürme eğitim](https://ironpdf.com/java/tutorials/html-to-pdf/)ine bakın.

`renderHtmlAsPdf()` çağrısı, Chromium tabanlı bir görüntüleme motoru kullanır. Tam CSS, web yazı tipleri ve satır içi resimler desteklenir; çıktı, bir tarayıcının görüntüleyeceği ile aynıdır.
## Mevcut PDF Dosyalarını Nasıl Birleştirebilirim?
Diskten PDF'leri yüklemek ve birleştirmek de aynı şablonu izler; nesneleri `merge()`'ye aktarmadan önce her dosyayı belleğe okumak için `PdfDocument.fromFile()` kullanılır.
Bu yaklaşım, kaynak belgelerin halihazırda mevcut olduğu her türlü iş akışına uygundur -- taranmış faturalar, dışa aktarılmış raporlar veya harici bir sistemden alınan dosyalar. IronPDF, PDF yapısını okur ve orijinal kaynak dosyaları değiştirmeden sayfaları birleştirir.
### Diskten Dosya Yükleme ve Birleştirme
```java {title="Diskten Mevcut PDF Dosyalarını Birleştir"}
//:path=/static-assets/pdf/content-code-examples/how-to/how-to-merge-two-pdf-files-java-tutorial/merge-existing-files.java
import com.ironsoftware.IronPdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Diskten iki mevcut PDF dosyasını yükle
PdfDocument pdfA = PdfDocument.fromFile(Paths.get("assets/invoice-january.pdf"));
PdfDocument pdfB = PdfDocument.fromFile(Paths.get("assets/invoice-february.pdf"));
// Tek bir belgede birleştir
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
// Birleştirilmiş çıktıyı yazın -- orijinaller değiştirilmez
merged.saveAs(Paths.get("assets/invoices-q1.pdf"));
}
}
merge() çağrısı yeni bir PdfDocument nesnesi üretir; ne pdfA ne de pdfB değiştirilmez. İşlemi tersine çevirmek (sayfaları geri çıkarmak) için Java için bölünmüş PDF'ler örneğine bakın.

fromFile() hangi dosya formatlarını kabul eder?
PdfDocument.fromFile(), standart .pdf dosyalarını kabul eder. Birleştirilmeden önce dönüştürülmesi gereken belgeler için (HTML dosyaları, görüntü dosyaları veya diğer formatlar gibi) uygun görüntüleme yöntemini (renderHtmlAsPdf(), renderUrlAsPdf()) kullanarak bir PdfDocument oluşturun, ardından bu nesneyi merge()'ye aktarın.
fromFile()'ye geçirilen yollar, mutlak veya çalışma dizinine göre göreceli olabilir. Çapraz platform uyumluluğu için Paths.get() (java.nio.file'dan) kullanılması önerilir.IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.
İki Adetten Fazla PDF Dosyasını Nasıl Birleştirebilirim?
PdfDocument.merge() değişken uzunlukta bir argüman listesi kabul eder, bu nedenle üç veya dört belgeyi birleştirmek, iki belgeyi birleştirmekten sözdizimsel olarak farklı değildir. Dinamik boyutlu koleksiyonlar için (PDF sayısının çalışma zamanında belirlendiği durumlar), PdfDocument[] dizisini aktarmak daha temiz bir yaklaşımdır.
Varargs ve Liste Tabanlı Desenler
Aşağıdaki iki örnekte aynı sonuç elde edilir. Dosya sayısı sabit olduğunda doğrudan varargs çağrısını, koleksiyonu programlı olarak oluştururken ise listeden diziye dönüştürme modelini seçin:
```java {title="Dört PDF'yi Birleştirme -- Varargs ve Liste Yaklaşımları"} //:path=/static-assets/pdf/content-code-examples/how-to/how-to-merge-two-pdf-files-java-tutorial/merge-multiple-files.java import com.ironsoftware.IronPdf.PdfDocument; import java.io.IOException; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List;
public class Main { public static void main(String[] args) throws IOException { // Mevcut dört PDF dosyasını yükle PdfDocument pdfA = PdfDocument.fromFile(Paths.get("assets/chapter-1.pdf")); PdfDocument pdfB = PdfDocument.fromFile(Paths.get("assets/chapter-2.pdf")); PdfDocument pdfC = PdfDocument.fromFile(Paths.get("assets/chapter-3.pdf")); PdfDocument pdfD = PdfDocument.fromFile(Paths.get("assets/chapter-4.pdf"));
// Örnek 1: doğrudan varargs çağrısı -- sabit sayıda dosya için iyi sonuç verir
PdfDocument merged = PdfDocument.merge(pdfA, pdfB, pdfC, pdfD);
merged.saveAs(Paths.get("assets/full-document.pdf"));
// Örnek 2: önce bir liste oluşturun -- dosya sayısı dinamik olduğunda tercih edilir
List<pdfdocument> pdfList = new ArrayList<>();</pdfdocument>
pdfList.add(pdfA);
pdfList.add(pdfB);
pdfList.add(pdfC);
pdfList.add(pdfD);
PdfDocument mergedFromList = PdfDocument.merge(
pdfList.toArray(new PdfDocument[0])
);
mergedFromList.saveAs(Paths.get("assets/full-document-v2.PDF"));
}
}
ÖnemliÇıktıdaki sayfa sırası, argüman sırasıyla tam olarak eşleşir. Belge sırası önemliyse (örneğin, bir kitabın bölümleri veya sıralı form bölümleri), `merge()`. çağrısından önce listenizi sıralayın.)}]
### Bir dizini nasıl tarayabilir ve tüm PDF'leri birleştirebilirim?
Derleme sırasında giriş dosyalarının kümesi bilinmediğinde, bir dizinden dosya yollarını okumak liste deseninin doğal bir uzantısıdır. Aşağıdaki kod parçacığı, bir klasördeki tüm `.pdf` dosyalarını toplar, dosya adına göre sıralar ve sırayla birleştirir.
```java {title="Bir Dizini Tarama ve Tüm PDF Dosyalarını Birleştirme"}
//:path=/static-assets/pdf/content-code-examples/how-to/how-to-merge-two-pdf-files-java-tutorial/merge-directory-pdfs.java
import com.ironsoftware.IronPdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException {
Path inputDir = Paths.get("assets/monthly-reports");
// Dizinden tüm PDF dosyalarını dosya adına göre sıralanmış olarak topla
List<path> pdfPaths = Files.list(inputDir)</path>
.filter(p -> p.toString().endsWith(".pdf"))
.sorted(Comparator.comparing(Path::getFileName))
.collect(Collectors.toList());
// Her dosyayı bir PdfDocument'a yükleyin
List<pdfdocument> documents = new ArrayList<>();</pdfdocument>
for (Path path : pdfPaths) {
documents.add(PdfDocument.fromFile(path));
}
// Tüm belgeleri birleştirin ve sonucu kaydedin
PdfDocument combined = PdfDocument.merge(
documents.toArray(new PdfDocument[0])
);
combined.saveAs(Paths.get("assets/annual-report.PDF"));
}
}
Bu şablon, her türlü klasör boyutunu destekler. Büyük gruplar (50'den fazla dosya) için, her dosyayı aynı anda yüklemek yerine, bellek kullanımının zirveye ulaşmasını sınırlamak amacıyla parçalar halinde yüklemeyi ve birleştirmeyi düşünün.
2024-01.pdf, 2024-02.pdf), pdfPaths'yi özel bir Comparator ile sıralayın. Alfabetik sıralama, sıfırla doldurulmuş ay sayıları için doğal bir şekilde çalışır.Birleştirme işleminden sonra, birleştirilen belgeyi daha da iyileştirmek isteyebilirsiniz. IronPDF for Java, özel üstbilgi ve altbilgi eklemeyi, filigran uygulama ve teslimattan önce dosya boyutunu küçültmek için nihai çıktıyı sıkıştırmayı destekler.
Java'da PDF Birleştirme için Sonraki Adımlar Nelerdir?
Bu kılavuz, IronPDF for Java ile dört birleştirme modelini ele almıştır: birleştirmeden önce HTML içeriğini PDF'ye dönüştürme, diskten mevcut dosyaları yükleme ve birleştirme, bir liste ile değişken uzunluktaki belge gruplarını işleme ve tüm PDF'leri otomatik olarak birleştirmek için bir dizini tarama. Her durumda, PdfDocument.merge() kaynak biçimlendirmesini korur; yazı tipleri, resimler ve sayfa düzeni, herhangi bir ek yapılandırma gerektirmeden çıktıya aktarılır.
IronPDF for Java'nın neler yapabileceğini keşfetmeye devam etmek için, ek şablonlar için Java PDF birleştirme eğitimine bakın veya birleştirilmiş çıktıya imza eklemek için Java'da PDF'leri dijital olarak imzalama yöntemini inceleyin. Sayfa düzeyinde işlemler (tek tek sayfaları yeniden sıralama, kaldırma veya ayıklama) için belirli sayfaları silme örneğine bakın.
Kendi projenizde denemeye hazır mısınız? Ücretsiz deneme sürenizi başlatın — kredi kartı gerekmez. Dağıtım için hazır olduğunuzda, ekipler ve Enterprise kullanım için lisans seçeneklerini inceleyin.
Sıkça Sorulan Sorular
Java'da PDF dosyalarını birleştirmenin en basit yolu nedir?
En basit yol, IronPDF for Java'dan PdfDocument.merge(pdf1, pdf2) kullanmaktır. Her dosyayı PdfDocument.fromFile(Paths.get("file.pdf")) ile yükleyin, her ikisini de merge()'a geçirin ve sonucu merged.saveAs() ile kaydedin.
Java'da IronPDF ile PDF birleştirmek için ön koşullar nelerdir?
Java 8 veya üstü sürüm gerekir, JAVA_HOME ayarlı olmalı, bir Java IDE (IntelliJ IDEA veya Eclipse gibi), Maven veya Gradle yapılandırılmış ve projenizin pom.xml veya build.gradle dosyasına IronPDF bağımlılığı eklenmiş olmalı.
Java'da aynı anda iki veya daha fazla PDF dosyasını birleştirebilir miyim?
Evet. PdfDocument.merge() değişken uzunlukta bir argüman listesi kabul eder, bu yüzden üç veya daha fazla PdfDocument nesnesi doğrudan geçirebilirsiniz. Dinamik bir koleksiyon için bir List<PdfDocument>'i list.toArray(new PdfDocument[0]) kullanarak diziye çevirin ve merge()'a geçirin.
Java'da PDF'leri birleştirirken sayfa sırasını nasıl kontrol ederim?
Sayfalar, merge()'a geçirilen argümanların sırasıyla çıktıdaki aynı sırada görünür. Bir listeyi dinamik olarak oluşturuyorsanız, merge() çağrısından önce sıralayın — örneğin dosya adına veya belge üst verisindeki tarih alanına göre sıralayın.
Java'da HTML'den oluşturulan PDF'leri nasıl birleştiririm?
Her HTML bölümünü PDF belgesine dönüştürmek için PdfDocument.renderHtmlAsPdf(htmlString) çağırın, ardından bu nesneleri PdfDocument.merge()'e geçirin. Diskte ara dosyalar yazılmaz.
Java'da birleştirdikten sonra hangi ek PDF işlemlerini yapabilirim?
Birleştirdikten sonra, IronPDF for Java başlıklar ve altbilgiler eklemeyi, özel filigranlar uygulamayı, çıktı dosya boyutunu küçültmek için sıkıştırmayı, dijital imzalar eklemeyi, bireysel sayfaları çıkarmayı veya silmeyi ve form alanlarını doldurmayı destekler.


