Das PDF Format wird häufig verwendet, um verschiedene Arten von Dokumenten wie Rechnungen, Finanzberichte, Lebensläufe usw. zu erstellen. In der Welt der Automatisierung werden PDF Dokumente aus Web oder Desktop Anwendungen generiert und bearbeitet. Daher müssen Sie in bestimmten Fällen möglicherweise Text zu den vorhandenen PDF Dateien programmgesteuert hinzufügen. Dementsprechend zeigt dieser Artikel, wie man mit C# Text zu PDF Dokumenten hinzufügt.
- C# API zum Hinzufügen von Text zu PDF
- Hinzufügen von Text zu einem PDF mit C#
- Fügen Sie mit TextParagraph Text zu PDF hinzu
- Transparenten Text in PDF einfügen
C# API zum Hinzufügen von Text zu PDF
Um Text dynamisch zu PDF Dateien hinzuzufügen, verwenden wir Aspose.PDF for .NET. Es ist eine funktionsreiche API, mit der Sie PDF Dateien aus Ihren .NET Anwendungen heraus erstellen und bearbeiten können. Sie können die API entweder herunterladen oder sie mit NuGet installieren.
PM> Install-Package Aspose.PDF
Hinzufügen von Text zu einem PDF mit C#
Im Folgenden sind die Schritte zum Hinzufügen von Text zu einer PDF Datei mit C# aufgeführt.
- Laden Sie die PDF Datei mit der Klasse Document.
- Holen Sie sich die gewünschte Seite des PDFs in ein Page objekt.
- Erstellen Sie ein TextFragment objekt und legen Sie dessen Text, Position, Schriftart, Hintergrundfarbe usw. fest.
- Erstellen Sie ein TextBuilder objekt und initialisieren Sie es mit dem Page objekt.
- Verwenden Sie die Methode TextBuilder.AppendText(TextFragment), um der PDF-Seite Text hinzuzufügen.
- Speichern Sie die aktualisierte PDF Datei mit der methode Document.Save(String).
Das folgende Codebeispiel zeigt, wie einer PDF Datei Text hinzugefügt wird.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Dokument öffnen
Document pdfDocument = new Document("input.pdf");
// Holen Sie sich eine bestimmte Seite
Page pdfPage = (Page)pdfDocument.Pages[1];
// Textfragment erstellen
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);
// Texteigenschaften festlegen
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
// TextBuilder objekt erstellen
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Hängen Sie das Textfragment an die PDF-Seite an
textBuilder.AppendText(textFragment);
// Speichern Sie das resultierende PDF Dokument.
pdfDocument.Save("output.pdf");
Fügen Sie mit TextParagraph Text zu PDF hinzu
Im Folgenden sind die Schritte zum Hinzufügen von Text zu einer PDF Datei mit TextParagraph beschrieben.
- Laden Sie die PDF Datei mit der Klasse Document.
- Holen Sie sich die gewünschte PDF-Seite in ein Page objekt oder fügen Sie ein neues hinzu.
- Erstellen Sie ein TextBuilder objekt und initialisieren Sie es mit dem Page objekt.
- Erstellen Sie ein Objekt der Klasse TextParagraph.
- Geben Sie die Position des Absatzes mit der Eigenschaft TextParagraph.Rectangle an.
- Legen Sie die Formatierungsoptionen des TextParagraph fest.
- Erstellen Sie ein TextFragment objekt und legen Sie dessen Text, Position, Schriftart, Hintergrundfarbe usw. fest.
- Fügen Sie das TextFragment mithilfe der Methode TextParagraph.AppendLine(TextFragment) zum Absatz hinzu.
- Fügen Sie der Seite mithilfe der Methode TextBuilder.AppendParagraph(TextParagraph) einen Absatz hinzu.
- Speichern Sie die aktualisierte PDF Datei mit der methode Document.Save(String).
Das folgende Codebeispiel zeigt, wie einer PDF mithilfe der TextParagraph Klasse Text hinzugefügt wird.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";
// Eingabe PDF Datei laden
Document doc = new Document("input.pdf");
// Erstellen Sie ein Texterstellungsobjekt für die erste Seite des Dokuments
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);
// Textfragment mit Beispielstring erstellen
TextFragment textFragment = new TextFragment("Hello world");
if (fontFile != "")
{
// Laden Sie die TrueType-Schriftart in das Stream objekt
using (FileStream fontStream = File.OpenRead(fontFile))
{
// Legen Sie den Schriftartnamen für die Textzeichenfolge fest
textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
// Geben Sie die Position für das Textfragment an
textFragment.Position = new Position(10, 10);
// Fügen Sie den Text zu TextBuilder hinzu, damit er über der PDF Datei platziert werden kann
textBuilder.AppendText(textFragment);
}
// Speichern Sie das resultierende PDF Dokument
doc.Save("output.pdf");
}
Transparenten Text in PDF in C# hinzufügen
Aspose.PDF for .NET ermöglicht auch das Hinzufügen von transparentem Text zu einem PDF Dokument, wie in den folgenden Schritten gezeigt wird.
- Laden Sie die PDF Datei mit der Klasse Document.
- Holen Sie sich die gewünschte PDF-Seite in ein Page objekt oder fügen Sie ein neues hinzu.
- Erstellen und initialisieren Sie ein Graph objekt.
- Erstellen Sie ein Rectangle objekt und initialisieren Sie es.
- Legen Sie die Eigenschaft Rectangle.GraphInfo.FillColor fest.
- Fügen Sie dem Diagramm ein Rechteck hinzu, indem Sie die Methode Graph.Shapes.Add(Rectangle) verwenden.
- Fügen Sie Graph mithilfe der Methode Page.Paragraphs.Add(Graph) zur Absatzsammlung der Seite hinzu.
- Erstellen Sie ein TextFragment objekt und legen Sie seine TextState.ForegroundColor-Eigenschaft fest.
- Fügen Sie das TextFragment mithilfe der Methode Page.Paragraphs.Add(TextFragment) zur Seite hinzu.
- Speichern Sie die aktualisierte PDF Datei mit der methode Document.Save(String).
Das folgende Codebeispiel zeigt, wie einer PDF Datei transparenter Text hinzugefügt wird.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Dokumentinstanz erstellen
Document doc = new Document("input.pdf");
// Erstellen Sie eine seitenweise Sammlung von PDF Dateien
Aspose.Pdf.Page page = doc.Pages.Add();
// Diagrammobjekt erstellen
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);
// Erstellen Sie eine rechteckige Instanz mit bestimmten Abmessungen
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);
// Erstellen Sie ein Farbobjekt aus dem Alpha-Farbkanal
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));
// Fügen Sie der Formensammlung des Graph objekts ein Rechteck hinzu
canvas.Shapes.Add(rect);
// Diagrammobjekt zur Absatzsammlung des Seitenobjekts hinzufügen
page.Paragraphs.Add(canvas);
// Stellen Sie den Wert so ein, dass die Position für das Diagrammobjekt nicht geändert wird
canvas.IsChangePosition = false;
// TextFragment-Instanz mit Beispielwert erstellen
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");
// Erstellen Sie ein Farbobjekt aus dem Alphakanal
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);
// Legen Sie Farbinformationen für die Textinstanz fest
text.TextState.ForegroundColor = color;
// Text zur Absatzsammlung der Seiteninstanz hinzufügen
page.Paragraphs.Add(text);
// Speichern Sie die aktualisierte PDF Datei
doc.Save("output.pdf");
Holen Sie sich eine kostenlose Lizenz
Sie können Aspose.PDF for .NET ohne Evaluierungseinschränkungen mit einer temporären Lizenz verwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mithilfe von C# Text zu vorhandenen PDF Dateien hinzufügen. Außerdem haben Sie gesehen, wie transparenter Text dynamisch zu einem PDF hinzugefügt wird. Weitere Informationen zur C# PDF API finden Sie in der Dokumentation. Sie können Ihre Fragen auch in unserem Forum posten.