Java'da Bir PDF Nasıl Bölünür
Java'da bir PDF'yi bölmek, tek tek sayfaları ayıklamak, sayfa aralıklarını çekmek veya bir belgeyi sınırdan bölmek için PdfDocument sınıfında copyPage, copyPages ve splitBy yöntemlerini sağlayan IronPDF ile oldukça basittir. Her yöntem, orijinalinden bağımsız olarak kaydettiğiniz yeni bir PdfDocument döndürür.
Hızlı Başlangıç: Java'da Bir PDF'yi Bölün
- IronPDF for Java'yı Maven veya Gradle üzerinden yükleyin
- Lisans anahtarınızı
License.setLicenseKey()ile ayarlayın PdfDocument.fromFile()ile PDF'yi yükleyin- Tek bir sayfayı çıkarmak için
copyPage()kullanın - Sonucu
saveAs()ile kaydedin
```java :title=Hızlı Başlangıç //:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/quickstart.java import java.io.IOException; import java.nio.file.Path; import com.ironsoftware.IronPdf.License; import com.ironsoftware.IronPdf.PdfDocument;
public class Main { public static void main(String[] args) throws IOException { // Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Kaynak PDF'yi diskten yükleyin PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// İlk sayfayı (sıfır tabanlı dizin 0) yeni bir belgeye çıkarın
PdfDocument firstPage = pdf.copyPage(0);
// Çıkarılan sayfayı bağımsız bir PDF olarak kaydedin
firstPage.saveAs(Path.of("page-one.pdf"));
}
}
PDF bölme, belgeleri programatik olarak üretirken yaygın bir gereksinimdir. Tek bir dosya olarak üretilen bir rapor, dağıtımdan önce bireysel bölümlere ayrılabilir. Arşivleme iş akışları, genellikle her bölümü veya faturayı ayrı bir dosya olarak saklamayı gerektirir. Seçici paylaşımlar, yalnızca belirli bir sayfa aralığının bir müşteriye gönderilmesi gereken senaryolarda, tüm belgeyi göndermek yerine tam olarak gerekli sayfaları çıkarmaktan faydalanır.
IronPDF, `PdfDocument` sınıfındaki tutarlı bir API aracılığıyla bu üç bölme modelinin tümünü işler. HTML'den PDF oluşturmak veya mevcut dosyaları yüklemek için kullanılan aynı sınıf, sayfa çıkarma yöntemlerini açığa çıkarır, bu nedenle bölme, mevcut herhangi bir IronPDF iş akışına doğal olarak entegre olur. Kurulum ve bağımlılık yapılandırması için [Başlangıç Kılavuzu'na](https://ironpdf.com/java/docs/) başvurun.
IronPDF'deki tüm sayfa dizinleri sıfır tabanlıdır. Kaynak belgeniz on sayfadan oluşuyorsa, geçerli dizinler 0'dan 9'a kadar olmalıdır. Bu, `copyPage`, `copyPages`'nin her iki sınırı ve `splitBy`'nin sınır argümanı için geçerlidir. Aralık dışı bir dizin geçildiğinde çalışma zamanında bir istisna atılır, bu nedenle değişken uzunluktaki belgelerle çalışırken sayfa sayılarını `pdf.getPageCount()` ile karşılaştırarak doğrulayın.
<div class="hsg-featured-snippet">
<h2>Java'da Bir PDF Nasıl Bölünür</h2>
<ol>
<li><a href="https://ironpdf.com/java/#download-modal">PDF'leri bölmek için Java kütüphanesini yükleyin</a></li>
<li><strong>PdfDocument</strong> sınıfını kullanarak kaynak PDF'yi yükleyin</li>
<li>Tek bir sayfayı yeni bir belgeye çıkarmak için <code>copyPage</code> kullanın</li>
<li>Bir dizi sayfayı çıkarmak için <code>copyPages</code> kullanın</li>
<li>PDF'yi belirli bir sayfa sınırında bölmek için <code>splitBy</code> kullanın</li>
<li>Her oluşan belgeyi <code>saveAs</code> ile kaydedin</li>
</ol>
</div>
## Başlamadan Önce Neye İhtiyacım Var?
PDF'leri bölmeden önce, IronPDF'nin Maven veya Gradle bağımlılığı olarak Java projenize eklendiğinden emin olun. Kütüphane, Java 8 veya üstünü gerektirir. Maven Central'dan IronPDF artefaktını yapı dosyanıza ekleyin:
```xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
Gradle projeleri için, implementation satırının eşdeğerini build.gradle dosyanıza ekleyin. Tam bağımlılık ve yapılandırma talimatları Başlangıç Kılavuzu'nda mevcuttur.
Geçerli bir lisans anahtarı gereklidir. Herhangi bir IronPDF yöntemini çağırmadan önce uygulama başlangıcında ayarlayın:
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
Lisans seçenekleri ve deneme anahtarları için lisans anahtarları kılavuzunu inceleyin.
Bir PDF'den Tek Bir Sayfayı Nasıl Çıkartırım?
copyPage(int pageIndex) yöntemi, bir PdfDocument dosyasından bir sayfa çıkarır ve bunu yeni, bağımsız bir PdfDocument dosyası olarak döndürür. Orijinal belge değiştirilmez. pageIndex argümanı sıfır tabanlıdır: ilk sayfa için 0, ikinci sayfa için 1 vb. değerleri geçirin.
İş akışınızın belirli bir sayfayı izole etmesini gerektirdiği durumlarda, bu yöntem uygundur, örneğin, bir kapak sayfası, imzalı imza sayfası veya toplu olarak üretilmiş bir belgede tek bir faturanın çıkarılması gibi.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-single-page.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Kaynak PDF'yi diskten yükleyin
PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// Extract the third page (zero-based index 2) into a new document
PdfDocument thirdPage = pdf.copyPage(2);
// Çıkarılan sayfayı bağımsız bir PDF olarak kaydedin
thirdPage.saveAs(Path.of("third-page.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-single-page.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Kaynak PDF'yi diskten yükleyin
PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// Extract the third page (zero-based index 2) into a new document
PdfDocument thirdPage = pdf.copyPage(2);
// Çıkarılan sayfayı bağımsız bir PDF olarak kaydedin
thirdPage.saveAs(Path.of("third-page.pdf"));
}
}
Dönüş değeri PdfDocument, kaynaktan tamamen bağımsızdır. Kaydetmeden önce daha fazla dönüşüm uygulayabilir, açıklamalar ekleyebilir veya diğer belgelerle birleştirebilirsiniz.
Bir PDF'deki Sayfa Aralığını Nasıl Çıkarırım?
copyPages(int fromIndex, int toIndex) yöntemi, birbirine bitişik bir sayfa aralığını çıkarır ve bunları yeni bir PdfDocument olarak döndürür. Hem fromIndex hem de toIndex sıfır tabanlı ve kapsayıcıdır: on sayfalık bir belgede copyPages(1, 4) komutunu çalıştırmak, 2, 3, 4 ve 5. sayfaları (1'den 4'e kadar olan indeksleri) çıkarır.
Sayfa aralığı çıkarmak, çok bölümlü bir rapordan bir bölüm alma, çok sayfalı bir ek çıkarma veya PDF olarak dışa aktarılmış bir sunumdan bir dizi slaytı izole etme gibi senaryolara uygundur.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load a multi-page source PDF
PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));
// Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
PdfDocument chapter = pdf.copyPages(1, 4);
// Save the extracted page range as a standalone document
chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load a multi-page source PDF
PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));
// Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
PdfDocument chapter = pdf.copyPages(1, 4);
// Save the extracted page range as a standalone document
chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
}
}
Kaynak belgenin sayfaları istenen toIndex sayısından azsa, IronPDF bir istisna oluşturur. Sayfa sayısı değişkenlik gösterebilen belgelerle çalışırken, copyPages işlevini çağırmadan önce pdf.getPageCount() işlevini kontrol edin.
Bir PDF'yi İki Belgeye Nasıl Bölerim?
splitBy(int splitAfterPageIndex) yöntemi, bir PDF'yi bir sınırdan böler ve tam olarak iki öğe içeren bir List<PdfDocument> döndürür. İlk öğe, 0'dan splitAfterPageIndex'ye kadar (dahil) olan sayfaları içerir. İkinci bölüm, splitAfterPageIndex + 1'den belgenin sonuna kadar kalan tüm sayfaları içerir.
Örneğin, on sayfalık bir belgede splitBy(2) çağrısı yapıldığında şu sonuç elde edilir:
parts.get(0): sayfalar 0, 1, 2 (ilk üç sayfa)parts.get(1): 3. sayfadan 9. sayfaya kadar (kalan yedi sayfa)
Bu yöntem, belgeleri bilinen bir sınırda ayırma, bir kapak sayfasını metinden ayırma, bir belgeyi bir bölüm kesintisinde bölme veya toplu bir dosyayı paralel işlem için iki yarıya ayırma gibi senaryolar için uygundur.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Kaynak PDF'yi diskten yükleyin
PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
List<PdfDocument> parts = pdf.splitBy(2);
// Save the first part (pages 0 through 2)
parts.get(0).saveAs(Path.of("part-one.pdf"));
// Save the second part (pages 3 through end)
parts.get(1).saveAs(Path.of("part-two.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Herhangi bir IronPDF yöntemini çağırmadan önce lisans anahtarını ayarlayın
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Kaynak PDF'yi diskten yükleyin
PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
List<PdfDocument> parts = pdf.splitBy(2);
// Save the first part (pages 0 through 2)
parts.get(0).saveAs(Path.of("part-one.pdf"));
// Save the second part (pages 3 through end)
parts.get(1).saveAs(Path.of("part-two.pdf"));
}
}
splitBy her zaman tam olarak iki öğe içeren bir liste döndürür. Eğer splitAfterPageIndex belgenin son sayfa indeksine eşitse, ikinci öğe boş bir belge olacaktır. Bölme noktası dinamik olarak hesaplandığında, bölme sınırını pdf.getPageCount() - 1 ile karşılaştırarak doğrulayın.Java'da PDF Bölme için Sonraki Adımlar Nelerdir?
IronPDF'nin copyPage, copyPages ve splitBy yöntemleri, tek sayfa çıkarma işleminden aralık tabanlı bölme ve sınır tabanlı bölmeye kadar Java'daki tüm PDF bölme gereksinimlerini karşılar. Her yöntem, daha fazla işleme veya hemen kaydetmeye hazır bağımsız bir PdfDocument döndürür.
Java'da PDF belgeleriyle çalışmaya devam etmek için bu ilgili kaynakları inceleyin:
- Java'da PDF'leri Birleştirme: Birden fazla PDF dosyasını veya çıkarılmış parçaları tek bir belgede birleştirin
- Java'da PDF Sayfalarını Silme: Mevcut bir PDF'den istenmeyen sayfaları çıkarmadan kaldırın
- Java'da PDF Sıkıştırma: Depolama veya iletim öncesi bölünmüş belgelerin dosya boyutunu azaltın
- Java PDF eğitimleri: yaygın PDF iş akışları için ek uçtan uca örnekler
- IronPDF for Java örnekleri: tüm IronPDF Java API'si için kopyala-yapıştır kod örnekleri
Ücretsiz denemenizi başlatın Java iş akışınıza PDF bölme eklemek için. Üretim kullanımı için bir lisans satın almak isterseniz, lisanslama seçeneklerini görüntüleyin.
Sıkça Sorulan Sorular
Java'da IronPDF ile PDF'yi nasıl bölerim?
PDF'nizi PdfDocument.fromFile() ile yükleyin, ardından copyPage(index) ile bir tek sayfa çıkarın, copyPages(from, to) ile bir aralık çıkarın veya splitBy(index) ile belgeyi iki parçaya bölün. Her sonucu saveAs() ile kaydedin.
copyPage, copyPages ve splitBy arasındaki fark nedir?
copyPage(index) sıfır tabanlı indeksle bir tek sayfa çıkarır. copyPages(fromIndex, toIndex) hem başlangıç hem de bitiş dahil olmak üzere birbirini izleyen bir aralığı çıkarır. splitBy(index) belgeyi bir sınırda böler ve iki elemanlı bir List döndürür: 0 ile sınır indeksi arasındaki sayfalar ve kalan tüm sayfalar.
IronPDF'de sayfa dizinleri sıfır tabanlı mı yoksa bir bazlı mı?
IronPDF'de sayfa dizinleri sıfır tabanlıdır. Bir belgenin ilk sayfası indeks 0, ikinci sayfa indeks 1'dir ve bu böyle devam eder. Bu copyPage, copyPages ve splitBy için geçerlidir.
splitBy ne döner?
splitBy(splitAfterPageIndex) tam iki elemanlı bir List döndürür. İlk eleman, sınır indeksine (dahil) kadar olan sayfaları içerir. İkinci eleman, kalan tüm sayfaları içerir. Bölme indeksi son sayfa ise, ikinci eleman boş bir belge olacaktır.
Java'da IronPDF ile PDF'leri bölmek için gereken ön koşullar nelerdir?
Java 8 veya üstü, Maven veya Gradle bağımlılığı olarak eklenmiş IronPDF kütüphanesi ve herhangi bir IronPDF çağrısından önce ayarlanan License.setLicenseKey() ile geçerli bir lisans anahtarına ihtiyacınız var.
Java'da bir PDF'den sayfa 2 ile 5 arasını nasıl çıkarırım?
Sayfa 2 ile 5 arasını çıkarmak için pdf.copyPages(1, 4) kullanın. IronPDF sıfır tabanlı dizinler kullanır, bu yüzden sayfa 2 indeks 1 ve sayfa 5 indeks 4'tür. Hem başlangıç hem de bitiş dahil. Sonucu saveAs() ile kaydedin.


