PDF-Text-Wasserzeichen sind digitale Textmarken, die als Hintergrund auf jeder PDF-Seite angezeigt werden. Im Gegensatz zu Stempeln sind Textwasserzeichen in die Seite integriert und können nicht direkt entfernt werden. Sie werden oft verwendet, um Dokumentinformationen, Unternehmensinformationen, Autoreninformationen und viele andere Attribute des Dokuments anzuzeigen. Darüber hinaus können Textwasserzeichen dazu beitragen, PDF-Dokumente vor Missbrauch zu schützen. Textwasserzeichen werden häufig in PDF-Dokumenten mit dem ursprünglichen Inhalt verwendet, der im Web veröffentlicht ist. In diesem Artikel wird gezeigt, wie Sie mit der kostenlosenFree Spire.PDF for Java-Bibliothek Textwasserzeichen in ein PDF-Dokument einfügen können.
- Einfügen eines einzelnen Textwasserzeichens in ein PDF-Dokument
- Einfügen eines kachelartigen Textwasserzeichens in ein PDF-Dokument
Hinzufügen von Abhängigkeiten
Für diese Methode wird die kostenlose Free Spire.PDF for Java-Bibliothek benötigt. Importieren Sie zuerst die JAR-Datei.
1. Maven
Wenn Sie Maven verwenden, können Sie die JAR-Datei einfach in Ihr Projekt importieren, indem Sie den folgenden Code in die pom.xml-Datei Ihres Projekts hinzufügen.
<repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://repo.e-iceblue.com/nexus/content/groups/public/</url></repository></repositories><dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>5.1.0</version></dependency></dependencies>
2. Herunterladen der JAR-Datei von der offiziellen Website
Laden Sie zunächst die ZIP-Datei von deroffiziellen Website von Free Spire.PDF for Java herunter. Entpacken Sie die ZIP-Datei und importieren Sie die Spire.Pdf.jar-Datei aus dem lib-Ordner als Abhängigkeit in Ihr Projekt.
Einfügen eines einzelnen Textwasserzeichens in ein PDF-Dokument
Ein einzelnes Textwasserzeichen ist ein Textwasserzeichen, das nur einmal in der Mitte der Seite angezeigt wird. Die Schritte zum Einfügen eines einzelnen Textwasserzeichens lauten wie folgt:
- Erstellen Sie eine Instanz der KlassePdfDocument.
- Laden Sie das PDF-Dokument mit der MethodePdfDocument.loadFromFile().
- Erstellen Sie ein Schriftartenobjekt.
- Schleife über die Seiten und fügen Sie auf jeder Seite das Wasserzeichen ein.
- Verwenden Sie die MethodePdfDocument.getPages().get(), um eine Seite abzurufen.
- Verwenden Sie die MethodePdfPageBase.getCanvas().translateTransform(), um die Anfangsposition festzulegen.
- Verwenden Sie die MethodePdfPageBase.getCanvas().rotateTransform(), um den Drehwinkel festzulegen.
- Verwenden Sie die MethodePdfPageBase.getCanvas().drawString(), um den Wasserzeichen-Text auf der Seite zu zeichnen.
- Speichern Sie das Dokument mit der MethodePdfDocument.saveToFile().
Java
importcom.spire.pdf.*;importcom.spire.pdf.graphics.*;importcom.spire.pdf.htmlconverter.qt.Size;importjava.awt.*;importjava.awt.geom.*;publicclassinsertSingleTextWaterMark{publicstaticvoidmain(String[]args){// Erstellen Sie eine Instanz der Klasse PdfDocumentPdfDocumentpdf=newPdfDocument();// Laden Sie das PDF-Dokumentpdf.loadFromFile("Sample.pdf");// Erstellen Sie eine SchriftartPdfTrueTypeFontfont=newPdfTrueTypeFont(newFont("Yu Mincho",Font.BOLD,50));// Schleife über die Seiten und fügen Sie jedem eine Wasserzeichen einStringtext="Entwurf";floatset1=(float)(font.getSize()*Math.sqrt(2));floatset2=(float)(font.getHeight()*Math.sqrt(2)/4);for(inti=0;i<pdf.getPages().getCount();i++){// Holen Sie die SeitePdfPageBasepage=pdf.getPages().get(i);// Setzen Sie die Transparenz des Wasserzeichenspage.getCanvas().setTransparency(0.8f);// Setzen Sie die Anfangspositionpage.getCanvas().translateTransform(page.getCanvas().getSize().getWidth()/2-(set1+set2),page.getCanvas().getSize().getHeight()/2+set1-set2);// Setzen Sie den Rotationswinkelpage.getCanvas().rotateTransform(-45);// Zeichnen Sie den Text des Wasserzeichenspage.getCanvas().drawString(text,font,PdfBrushes.getDarkGray(),0,0);}// Speichern Sie die Dateipdf.saveToFile("Text-Wasserzeichen.pdf");}}
Einfügen eines kachelartigen Textwasserzeichens in ein PDF-Dokument
Es ist auch möglich, Textwasserzeichen als Kachel auf der Seite anzuzeigen. Die detaillierten Schritte zum Einfügen eines kachelartigen Textwasserzeichens lauten wie folgt:
- Erstellen Sie eine Instanz der KlassePdfDocument.
- Laden Sie das PDF-Dokument mit der MethodePdfDocument.loadFromFile().
- Schleife über die Seiten im Dokument, um das Wasserzeichen einzufügen.
- Verwenden Sie die MethodePdfDocument.getPages().get(), um die Seiten im Dokument abzurufen.
- Verwenden Sie die benutzerdefinierte MethodeinsertWatermark(), um das Textwasserzeichen einzufügen.
- Verwenden Sie die MethodePdfDocument.saveToFile(), um das Dokument zu speichern.
Java
importcom.spire.pdf.*;importcom.spire.pdf.graphics.*;importjava.awt.*;importjava.awt.geom.*;publicclassinsertTextwatermark{publicstaticvoidmain(String[]args){// Erstellen Sie eine Instanz der Klasse PdfDocumentPdfDocumentpdf=newPdfDocument();// Laden Sie das PDF-Dokumentpdf.loadFromFile("Sample.pdf");// Schleife über alle Seiten im Dokument, um Wasserzeichen einzufügenfor(inti=0;i<pdf.getPages().getCount();i++){PdfPageBasepageBase=pdf.getPages().get(i);insertWatermark(pageBase,"Entwurf");}// Dokument speichernpdf.saveToFile("Gekacheltes Text-Wasserzeichen.pdf");}staticvoidinsertWatermark(PdfPageBasepage,Stringwatermark){Dimension2Ddimension2D=newDimension();dimension2D.setSize(page.getCanvas().getClientSize().getWidth()/2,page.getCanvas().getClientSize().getHeight()/3);PdfTilingBrushbrush=newPdfTilingBrush(dimension2D);brush.getGraphics().setTransparency(0.3F);brush.getGraphics().save();brush.getGraphics().translateTransform((float)brush.getSize().getWidth()/2,(float)brush.getSize().getHeight()/2);brush.getGraphics().rotateTransform(-45);PdfCjkStandardFontfont=newPdfCjkStandardFont(PdfCjkFontFamily.Heisei_Mincho_W_3,30);brush.getGraphics().drawString(watermark,font,PdfBrushes.getViolet(),0,0,newPdfStringFormat(PdfTextAlignment.Center));brush.getGraphics().restore();brush.getGraphics().setTransparency(1);Rectangle2DloRect=newRectangle2D.Float();loRect.setFrame(newPoint2D.Float(0,0),page.getCanvas().getClientSize());page.getCanvas().drawRectangle(brush,loRect);}}
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse