Formát PDF se široce používá ke generování různých typů dokumentů, jako jsou faktury, finanční zprávy, životopisy atd. Ve světě automatizace jsou dokumenty PDF generovány a manipulovány z webových nebo desktopových aplikací. V určitých případech proto možná budete muset přidat text do stávajících souborů PDF programově. Následně tento článek ukazuje, jak přidat text do souborů PDF v C#.
- Knihovna C# pro přidání textu do PDF
- Přidejte text do PDF pomocí C#
- Přidejte text do PDF pomocí TextParagraph
- Vložit průhledný text do PDF
Knihovna pro manipulaci s textem v C# PDF
K dynamickému přidávání textu do souborů PDF použijeme Aspose.PDF for .NET. Je to knihovna bohatá na funkce, která vám umožňuje vytvářet a manipulovat se soubory PDF z vašich aplikací .NET. Knihovnu si můžete stáhnout nebo ji nainstalovat pomocí NuGet.
PM> Install-Package Aspose.PDF
C# Přidání textu do PDF
Následují kroky pro přidání textu do souboru PDF v C#.
- Načtěte soubor PDF pomocí třídy Document.
- Získejte požadovanou stránku PDF do objektu Page.
- Vytvořte objekt TextFragment a nastavte jeho text, pozici, písmo, barvu pozadí atd.
- Vytvořte objekt TextBuilder a inicializujte jej pomocí objektu Page.
- Pomocí metody TextBuilder.AppendText(TextFragment) přidejte text na stránku PDF.
- Uložte aktualizovaný soubor PDF pomocí metody Document.Save(String).
C# Kód pro vložení textu PDF
Následující ukázka kódu ukazuje, jak vložit text do souboru PDF v C#.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otevřete dokument
Document pdfDocument = new Document("input.pdf");
// Získejte konkrétní stránku
Page pdfPage = (Page)pdfDocument.Pages[1];
// Vytvořte fragment textu
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);
// Nastavte vlastnosti textu
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);
// Vytvořte objekt TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Připojte fragment textu na stránku PDF
textBuilder.AppendText(textFragment);
// Uložte výsledný dokument PDF.
pdfDocument.Save("output.pdf");
C# Vložit text do PDF pomocí TextParagraph
Níže jsou uvedeny kroky pro přidání textu do souboru PDF pomocí TextParagraph.
- Načtěte soubor PDF pomocí třídy Document.
- Získejte požadovanou stránku PDF do objektu Page nebo přidejte novou.
- Vytvořte objekt TextBuilder a inicializujte jej pomocí objektu Page.
- Vytvořte objekt třídy TextParagraph.
- Určete umístění odstavce pomocí vlastnosti TextParagraph.Rectangle.
- Nastavte možnosti formátování TextParagraph.
- Vytvořte objekt TextFragment a nastavte jeho text, pozici, font, barvu pozadí atd.
- Přidejte TextFragment do odstavce pomocí metody TextParagraph.AppendLine(TextFragment).
- Přidejte odstavec na stránku pomocí metody TextBuilder.AppendParagraph(TextParagraph).
- Uložte aktualizovaný soubor PDF pomocí metody Document.Save(String).
Následující ukázka kódu C# ukazuje vkládání textu do PDF pomocí třídy TextParagraph.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";
// Načíst vstupní soubor PDF
Document doc = new Document("input.pdf");
// Vytvořte objekt pro tvorbu textu pro první stránku dokumentu
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);
// Vytvořte textový fragment s ukázkovým řetězcem
TextFragment textFragment = new TextFragment("Hello world");
if (fontFile != "")
{
// Načtěte písmo TrueType do objektu streamu
using (FileStream fontStream = File.OpenRead(fontFile))
{
// Nastavte název písma pro textový řetězec
textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
// Určete pozici pro textový fragment
textFragment.Position = new Position(10, 10);
// Přidejte text do TextBuilderu, aby jej bylo možné umístit přes soubor PDF
textBuilder.AppendText(textFragment);
}
// Uložte výsledný dokument PDF
doc.Save("output.pdf");
}
Vložit průhledný text do PDF v C#
Aspose.PDF for .NET také umožňuje přidání průhledného textu do dokumentu PDF, jak je ukázáno v následujících krocích.
- Načtěte soubor PDF pomocí třídy Document.
- Získejte požadovanou stránku PDF do objektu Page nebo přidejte novou.
- Vytvořte a inicializujte objekt Graph.
- Vytvořte objekt Rectangle a inicializujte jej.
- Nastavte vlastnost Rectangle.GraphInfo.FillColor.
- Přidejte obdélník do grafu pomocí metody Graph.Shapes.Add(Rectangle).
- Přidejte Graph do kolekce odstavců na stránce pomocí metody Page.Paragraphs.Add(Graph).
- Vytvořte objekt TextFragment a nastavte jeho vlastnost TextState.ForegroundColor.
- Přidejte TextFragment na stránku pomocí metody Page.Paragraphs.Add(TextFragment).
- Uložte aktualizovaný soubor PDF pomocí metody Document.Save(String).
Následující ukázka kódu ukazuje, jak přidat průhledný text do PDF v C#.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Vytvořit instanci dokumentu
Document doc = new Document("input.pdf");
// Vytvořte kolekci stránek ve formátu PDF
Aspose.Pdf.Page page = doc.Pages.Add();
// Vytvořit objekt Graph
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);
// Vytvořte instanci obdélníku s určitými rozměry
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);
// Vytvořte barevný objekt z barevného kanálu Alpha
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));
// Přidejte obdélník do kolekce tvarů objektu Graph
canvas.Shapes.Add(rect);
// Přidejte objekt grafu do kolekce odstavců objektu stránky
page.Paragraphs.Add(canvas);
// Nastavte hodnotu tak, aby neměnila polohu objektu grafu
canvas.IsChangePosition = false;
// Vytvořte instanci TextFragment s ukázkovou hodnotou
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 ");
// Vytvořte barevný objekt z alfa kanálu
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);
// Nastavte informace o barvě pro instanci textu
text.TextState.ForegroundColor = color;
// Přidejte text do kolekce odstavců instance stránky
page.Paragraphs.Add(text);
// Uložte aktualizovaný soubor PDF
doc.Save("output.pdf");
Bezplatná knihovna pro vkládání textu PDF
Můžete získat bezplatnou dočasnou licenci pro vkládání textu do souborů PDF bez jakýchkoli omezení.
C# PDF knihovna
Více o knihovně C# PDF můžete prozkoumat pomocí dokumentace. Své dotazy můžete také zveřejňovat na našem fóru.
Závěr
V tomto článku jste se naučili, jak přidat text do existujících souborů PDF pomocí C#. Kromě toho jste viděli, jak dynamicky přidat průhledný text do PDF. Knihovnu můžete snadno nainstalovat a použít poskytnuté metody vkládání textu do souborů PDF.