PDFBox - Birden Fazla Satır Ekleme

Önceki bölümde verilen örnekte, bir PDF'deki bir sayfaya nasıl metin ekleneceğini tartışmıştık, ancak bu program aracılığıyla, yalnızca tek bir satıra sığacak metni ekleyebilirsiniz. Daha fazla içerik eklemeye çalışırsanız, satır alanını aşan tüm metinler görüntülenmeyecektir.

Örneğin, yukarıdaki programı önceki bölümde aşağıdaki dizeyi geçerek çalıştırırsanız, yalnızca bir kısmı görüntülenecektir.

String text = "This is an example of adding text to a page in the pdf document. we can
   add as many lines as we want like this using the showText() method of the 
   ContentStream class";

Değiştirin string textönceki bölümdeki örnekte yukarıda bahsedilen dizgiyi kullanın ve çalıştırın. Yürütme üzerine aşağıdaki çıktıyı alacaksınız.

Çıktıyı dikkatlice gözlemlerseniz, dizenin yalnızca bir kısmının görüntülendiğini fark edebilirsiniz.

Bir PDF'ye birden çok satır eklemek için, satır aralığını kullanarak setLeading() yöntemi ve kullanarak yeni satıra geç newline() her satırı bitirdikten sonra yöntem.

Adımlar

Aşağıda boş bir belge oluşturma ve içindeki bir sayfaya içerik ekleme adımları verilmiştir.

Adım 1: Mevcut Bir Belgenin Yüklenmesi

Kullanarak mevcut bir belgeyi yükleyebilirsiniz. load()PDDocument sınıfının yöntemi. Bu nedenle, bu sınıfı somutlaştırın ve gerekli belgeyi aşağıda gösterildiği gibi yükleyin.

File file = new File("Path of the document"); 
PDDocument doc = PDDocument.load(file);

2. Adım: Gerekli Sayfayı Alma

Kullanarak bir belgedeki gerekli sayfayı alabilirsiniz. getPage()yöntem. Aşağıda gösterildiği gibi indeksini bu yönteme geçirerek gerekli sayfanın nesnesini alın.

PDPage page = doc.getPage(1);

3. Adım: İçerik akışını hazırlama

Adlı sınıfın nesnesini kullanarak çeşitli türlerde veri öğeleri ekleyebilirsiniz. PDPageContentStream. Belge nesnesini ve sayfa nesnesini bu sınıfın yapıcısına iletmeniz gerekir, bu nedenle, önceki adımlarda oluşturulan bu iki nesneyi aşağıda gösterildiği gibi geçirerek bu sınıfı başlatınız.

PDPageContentStream contentStream = new PDPageContentStream(doc, page);

Adım 4: Metne Başlamak

Bir PDF belgesine metin eklerken, metnin başlangıç ​​ve bitiş noktalarını belirtebilirsiniz. beginText() ve endText() yöntemleri PDPageContentStream aşağıda gösterildiği gibi sınıf.

contentStream.beginText(); 
……………………….. 
code to add text content 
……………………….. 
contentStream.endText();

Bu nedenle, metni kullanarak başlayın. beginText() yöntemi aşağıda gösterildiği gibi.

contentStream.beginText();

Adım 5: Metnin Konumunu Ayarlama

Kullanmak newLineAtOffset() yöntem, sayfadaki içerik akışı üzerindeki konumu ayarlayabilirsiniz.

//Setting the position for the line 
contentStream.newLineAtOffset(25, 700);

Adım 6: Yazı Tipini Ayarlama

Metnin yazı tipini istediğiniz stile ayarlayabilirsiniz. setFont() yöntemi PDPageContentStream Sınıfı aşağıda gösterildiği gibi bu yönteme yazı tipini ve boyutunu iletmeniz gerekir.

contentStream.setFont( font_type, font_size );

7. Adım: Metnin Önde Gelenini Ayarlama

Önde gelen metni ayarlamak için setLeading() yöntemi aşağıda gösterildiği gibi.

contentStream.setLeading(14.5f);

8. Adım: newline () Kullanarak Birden Çok Dize Ekleme

Kullanarak birden çok dize ekleyebilirsiniz. ShowText() yöntemi PDPageContentStream sınıfını kullanarak her birini bölerek newline() yöntemi aşağıda gösterildiği gibi.

contentStream. ShowText(text1); 
contentStream.newLine(); 
contentStream. ShowText(text2);

Adım 9: Metni Sonlandırma

Metni ekledikten sonra, metni kullanarak sonlandırmanız gerekir. endText() yöntemi PDPageContentStream aşağıda gösterildiği gibi sınıf.

contentStream.endText();

Adım 10: PDPageContentStream'i kapatma

Kapat PDPageContentStream kullanarak nesne close() yöntemi aşağıda gösterildiği gibi.

contentstream.close();

Adım 11: Belgeyi Kaydetme

Gerekli içeriği ekledikten sonra, PDF belgesini kullanarak kaydedin. save() yöntemi PDDocument aşağıdaki kod bloğunda gösterildiği gibi sınıf.

doc.save("Path");

Adım 12: Belgenin Kapatılması

Son olarak, belgeyi kullanarak kapatın. close() yöntemi PDDocument aşağıda gösterildiği gibi sınıf.

doc.close();

Misal

Bu örnek, PDFBox kullanılarak bir PDF'ye birden çok satırın nasıl ekleneceğini gösterir. Bu programı adıyla bir dosyaya kaydedinAddMultipleLines.java.

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class AddMultipleLines {
   public static void main(String args[]) throws IOException {

      //Loading an existing document
      File file = new File("C:/PdfBox_Examples/my_pdf.pdf");
      PDDocument doc = document.load(file);
       
      //Creating a PDF Document
      PDPage page = doc.getPage(1);  
       
      PDPageContentStream contentStream = new PDPageContentStream(doc, page); 
       
      //Begin the Content stream 
      contentStream.beginText(); 
       
      //Setting the font to the Content stream
      contentStream.setFont( PDType1Font.TIMES_ROMAN, 16 );
       
      //Setting the leading
      contentStream.setLeading(14.5f);

      //Setting the position for the line
      contentStream.newLineAtOffset(25, 725);

      String text1 = "This is an example of adding text to a page in the pdf document.
         we can add as many lines";
      String text2 = "as we want like this using the ShowText()  method of the
         ContentStream class";

      //Adding text in the form of string
      contentStream. ShowText(text1);
      contentStream.newLine();
      contentStream. ShowText(text2);
      //Ending the content stream
      contentStream.endText();

      System.out.println("Content added");

      //Closing the content stream
      contentStream.close();

      //Saving the document
      doc.save(new File("C:/PdfBox_Examples/new.pdf"));
            
      //Closing the document
      doc.close();
   }
}

Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.

javac AddMultipleLines.java 
java AddMultipleLines

Yürütme üzerine, yukarıdaki program verilen metni belgeye ekler ve aşağıdaki mesajı görüntüler.

Content added

PDF Belgesini doğrularsanız new.pdf belirtilen yolda, aşağıda gösterildiği gibi verilen içeriğin birden çok satırda belgeye eklendiğini gözlemleyebilirsiniz.