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 kostenlosen Free 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 der offiziellen 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 Klasse PdfDocument.
- Laden Sie das PDF-Dokument mit der Methode PdfDocument.loadFromFile().
- Erstellen Sie ein Schriftartenobjekt.
- Schleife über die Seiten und fügen Sie auf jeder Seite das Wasserzeichen ein.
- Verwenden Sie die Methode PdfDocument.getPages().get(), um eine Seite abzurufen.
- Verwenden Sie die Methode PdfPageBase.getCanvas().translateTransform(), um die Anfangsposition festzulegen.
- Verwenden Sie die Methode PdfPageBase.getCanvas().rotateTransform(), um den Drehwinkel festzulegen.
- Verwenden Sie die Methode PdfPageBase.getCanvas().drawString(), um den Wasserzeichen-Text auf der Seite zu zeichnen.
- Speichern Sie das Dokument mit der Methode PdfDocument.saveToFile().
Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.htmlconverter.qt.Size;
import java.awt.*;
import java.awt.geom.*;
public class insertSingleTextWaterMark {
public static void main(String[] args) {
// Erstellen Sie eine Instanz der Klasse PdfDocument
PdfDocument pdf = new PdfDocument();
// Laden Sie das PDF-Dokument
pdf.loadFromFile("Sample.pdf");
// Erstellen Sie eine Schriftart
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Mincho", Font.BOLD, 50));
// Schleife über die Seiten und fügen Sie jedem eine Wasserzeichen ein
String text = "Entwurf";
float set1 = (float) (font.getSize() * Math.sqrt(2));
float set2 = (float) (font.getHeight() * Math.sqrt(2) / 4);
for (int i = 0; i < pdf.getPages().getCount(); i++) {
// Holen Sie die Seite
PdfPageBase page = pdf.getPages().get(i);
// Setzen Sie die Transparenz des Wasserzeichens
page.getCanvas().setTransparency(0.8f);
// Setzen Sie die Anfangsposition
page.getCanvas().translateTransform(page.getCanvas().getSize().getWidth() / 2 - (set1 + set2), page.getCanvas().getSize().getHeight() / 2 + set1 - set2);
// Setzen Sie den Rotationswinkel
page.getCanvas().rotateTransform(-45);
// Zeichnen Sie den Text des Wasserzeichens
page.getCanvas().drawString(text, font, PdfBrushes.getDarkGray(), 0, 0);
}
// Speichern Sie die Datei
pdf.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 Klasse PdfDocument.
- Laden Sie das PDF-Dokument mit der Methode PdfDocument.loadFromFile().
- Schleife über die Seiten im Dokument, um das Wasserzeichen einzufügen.
- Verwenden Sie die Methode PdfDocument.getPages().get(), um die Seiten im Dokument abzurufen.
- Verwenden Sie die benutzerdefinierte Methode insertWatermark(), um das Textwasserzeichen einzufügen.
- Verwenden Sie die Methode PdfDocument.saveToFile(), um das Dokument zu speichern.
Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class insertTextwatermark {
public static void main(String[] args) {
// Erstellen Sie eine Instanz der Klasse PdfDocument
PdfDocument pdf = new PdfDocument();
// Laden Sie das PDF-Dokument
pdf.loadFromFile("Sample.pdf");
// Schleife über alle Seiten im Dokument, um Wasserzeichen einzufügen
for (int i = 0; i < pdf.getPages().getCount(); i++){
PdfPageBase pageBase = pdf.getPages().get(i);
insertWatermark(pageBase, "Entwurf");
}
// Dokument speichern
pdf.saveToFile("Gekacheltes Text-Wasserzeichen.pdf");
}
static void insertWatermark(PdfPageBase page, String watermark) {
Dimension2D dimension2D = new Dimension();
dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 2, page.getCanvas().getClientSize().getHeight() / 3);
PdfTilingBrush brush = new PdfTilingBrush(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);
PdfCjkStandardFont font = new PdfCjkStandardFont(PdfCjkFontFamily.Heisei_Mincho_W_3,30);
brush.getGraphics().drawString(watermark, font, PdfBrushes.getViolet(), 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
brush.getGraphics().restore();
brush.getGraphics().setTransparency(1);
Rectangle2D loRect = new Rectangle2D.Float();
loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());
page.getCanvas().drawRectangle(brush, loRect);
}
}
Top comments (0)