iText - Link Annotation

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek Linkanmerkungen zu einem PDF-Dokument hinzufügen.

Erstellen einer Linkanmerkung in einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocument Objekt als Parameter für seinen Konstruktor.

Um Textanmerkungen in Ihrem PDF-Dokument zu verwenden, müssen Sie ein Objekt der PdfTextAnnotation-Klasse erstellen und dieses zur PdfPage hinzufügen.

Im Folgenden finden Sie die Schritte zum Verwenden von Textanmerkungen in einem PDF-Dokument.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriterKlasse repräsentiert den DocWriter für ein PDF. Diese Klasse gehört zum Paketcom.itextpdf.kernel.pdf. Der Konstruktor dieser Klasse akzeptiert eine Zeichenfolge, die den Pfad der Datei darstellt, in der die PDF erstellt werden soll.

Instanziieren Sie die PdfWriter Klasse, indem ein Zeichenfolgenwert (der den Pfad darstellt, in dem Sie eine PDF-Datei erstellen müssen) an den Konstruktor übergeben wird (siehe Abbildung unten).

// Creating a PdfWriter 
String dest = "C:/itextExamples/linkAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Wenn ein Objekt dieses Typs an ein PdfDocument (Klasse) übergeben wird, wird jedes zu diesem Dokument hinzugefügte Element in die angegebene Datei geschrieben.

Schritt 2: Erstellen eines PdfDocument-Objekts

Das PdfDocumentKlasse ist die Klasse, die das PDF-Dokument in iText darstellt. Diese Klasse gehört zum Paketcom.itextpdf.kernel.pdf. Um diese Klasse zu instanziieren (im Schreibmodus), müssen Sie ein Objekt der Klasse übergebenPdfWriter zu seinem Konstruktor.

Instanziieren Sie die PdfDocument-Klasse, indem Sie die übergeben PdfWriter Objekt zu seinem Konstruktor, wie unten gezeigt.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Sobald ein PdfDocument-Objekt erstellt wurde, können Sie verschiedene Elemente wie Seite, Schriftart, Dateianhang und Ereignishandler mit den entsprechenden Methoden seiner Klasse hinzufügen.

Schritt 3: Erstellen des Dokumentobjekts

Das Document Klasse des Pakets com.itextpdf.layoutist das Stammelement beim Erstellen einer autarken PDF-Datei. Einer der Konstruktoren dieser Klasse akzeptiert ein Objekt der KlassePdfDocument.

Instanziieren Sie die Document Klasse, indem Sie das Objekt der Klasse PdfDocument übergeben, das in den vorherigen Schritten erstellt wurde (siehe unten).

// Creating a Document  
Document document = new Document(pdfDoc);

Schritt 4: Erstellen eines PdfAnnotation-Objekts

Das PdfAnnotation Klasse des Pakets com.itextpdf.kernel.pdf.annot repräsentiert die Oberklasse aller Anmerkungen.

Unter seinen abgeleiteten Klassen, PdfLinkAnnotationKlasse repräsentiert die Link-Annotation. Erstellen Sie ein Objekt dieser Klasse, wie unten gezeigt.

// Creating a PdfLinkAnnotation object 
Rectangle rect = new Rectangle(0, 0); 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);

Schritt 5: Festlegen der Aktion der Anmerkung

Setzen Sie die Aktion auf die Annotation mit der setAction() Methode der PdfLinkAnnotation Klasse, wie unten gezeigt.

// Setting action of the annotation 
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/"); 
annotation.setAction(action);

Schritt 6: Erstellen eines Links

Erstellen Sie einen Link, indem Sie das instanziieren Link Klasse des Pakets com.itextpdf.layout.element, Wie nachfolgend dargestellt.

// Creating a link 
Link link = new Link("Click here", annotation);

Schritt 7: Hinzufügen der Linkanmerkung zu einem Absatz

Erstellen Sie einen neuen Absatz, indem Sie das instanziieren Paragraph Klasse und fügen Sie den im vorherigen Schritt erstellten Link mit dem hinzu add() Methode dieser Klasse, wie unten gezeigt.

// Creating a paragraph 
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");        

// Adding link to paragraph 
paragraph.add(link.setUnderline());

Schritt 8: Hinzufügen eines Absatzes zum Dokument

Fügen Sie den Absatz mit dem Befehl zum Dokument hinzu add() Methode der Document Klasse, wie unten gezeigt.

// Adding paragraph to document 
document.add(paragraph);

Schritt 9: Schließen des Dokuments

Schließen Sie das Dokument mit der close() Methode der Document Klasse, wie unten gezeigt.

// Closing the document 
document.close();

Beispiel

Das folgende Java-Programm zeigt, wie Sie mithilfe der iText-Bibliothek Linkanmerkungen zu einem PDF-Dokument hinzufügen.

Es wird ein PDF-Dokument mit dem Namen erstellt linkAnnotation.pdf, fügt eine Linkanmerkung hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen LinkAnnotation.java.

import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.action.PdfAction; 
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Link; 
import com.itextpdf.layout.element.Paragraph;  

public class LinkAnnotation {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/linkAnnotation.pdf";       
      
      PdfWriter writer = new 
      PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document
      Document document = new Document(pdf);              
      
      // Creating a PdfLinkAnnotation object       
      Rectangle rect = new Rectangle(0, 0);       
      PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);              
      
      // Setting action of the annotation       
      PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");       
      annotation.setAction(action);             
      
      // Creating a link       
      Link link = new Link("Click here", annotation);              
      
      // Creating a paragraph       
      Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");              
      
      // Adding link to paragraph       
      paragraph.add(link.setUnderline());              
      
      // Adding paragraph to document       
      document.add(paragraph);             

      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");    
   } 
}

Kompilieren Sie die gespeicherte Java-Datei und führen Sie sie an der Eingabeaufforderung mit den folgenden Befehlen aus:

javac LinkAnnotation.java 
java LinkAnnotation

Bei der Ausführung erstellt das obige Programm ein PDF-Dokument mit der folgenden Meldung.

Annotation added successfully

Wenn Sie den angegebenen Pfad überprüfen, finden Sie das erstellte PDF-Dokument wie unten gezeigt.