Lägg till text till PDF i C#

Formatet PDF används ofta för att generera olika typer av dokument såsom fakturor, finansiella rapporter, CV, etc. I automationsvärlden genereras och manipuleras PDF-dokument från webben eller skrivbordsapplikationer. Därmed kan du i vissa fall behöva lägga till text i befintliga PDF-filer programmatiskt. Efter det visar den här artikeln hur man lägger till text till PDF-filer i C#.

C# PDF Text Manipulation Library

För att lägga till text till PDF-filer dynamiskt kommer vi att använda Aspose.PDF för .NET. Det är ett funktionsrikt bibliotek som låter dig skapa och manipulera PDF-filer från dina .NET-program. Du kan antingen ladda ner biblioteket eller installera det med NuGet.

PM> Install-Package Aspose.PDF

C# Lägga till text till en PDF

Följande är stegen för att lägga till text till en PDF-fil i C#.

C# PDF-textinsättningskod

Följande kodexempel visar hur man infogar text i en PDF-fil i C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("input.pdf");

// Skaffa en speciell sida
Page pdfPage = (Page)pdfDocument.Pages[1];

// Skapa textfragment
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Ställ in textegenskaper
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);

// Skapa TextBuilder-objekt
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Lägg till textfragmentet till PDF-sidan
textBuilder.AppendText(textFragment);

// Spara det resulterande PDF-dokumentet.
pdfDocument.Save("output.pdf");

C# Infoga text till PDF med TextParagraph

Följande är stegen för att lägga till text i en PDF-fil med TextParagraph.

Följande C#-kodexempel visar textinfogning i en PDF med TextParagraph-klassen.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// Ladda inmatad PDF-fil
Document doc = new Document("input.pdf");

// Skapa textbyggarobjekt för första sidan i dokumentet
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Skapa textfragment med exempelsträng
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // Ladda TrueType-teckensnittet i strömobjektet
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Ställ in teckensnittsnamnet för textsträngen
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Ange positionen för textfragment
        textFragment.Position = new Position(10, 10);
        
        // Lägg till texten i TextBuilder så att den kan placeras över PDF-filen
        textBuilder.AppendText(textFragment);
    }

    // Spara det resulterande PDF-dokumentet
    doc.Save("output.pdf");
}

Infoga transparent text i PDF i C#

Aspose.PDF för .NET tillåter också att lägga till transparent text till ett PDF-dokument, vilket visas i följande steg.

Följande kodexempel visar hur man lägger till transparent text till en PDF-fil i C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Skapa dokumentinstans
Document doc = new Document("input.pdf");

// Skapa sida till sida-samling av PDF-fil
Aspose.Pdf.Page page = doc.Pages.Add();

// Skapa grafobjekt
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Skapa rektangelinstans med vissa dimensioner
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Skapa färgobjekt från Alpha färgkanal
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Lägg till rektangulär formsamling av Graph-objekt
canvas.Shapes.Add(rect);

// Lägg till grafobjekt till styckesamling av sidobjekt
page.Paragraphs.Add(canvas);

// Ställ in värde för att inte ändra position för grafobjekt
canvas.IsChangePosition = false;

// Skapa TextFragment-instans med exempelvärde
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 ");

// Skapa färgobjekt från alfakanalen
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Ställ in färginformation för textinstans
text.TextState.ForegroundColor = color;

// Lägg till text till styckesamling av sidinstanser
page.Paragraphs.Add(text);

// Spara den uppdaterade PDF-filen
doc.Save("output.pdf");

Gratis bibliotek för insättning av PDF-text

Du kan få en gratis temporär licens för textinfogning i PDF-filer utan några begränsningar.

C# PDF-bibliotek

Du kan utforska mer om C# PDF-biblioteket med hjälp av dokumentationen. Du kan också posta dina frågor på vårt forum.

Slutsats

I den här artikeln har du lärt dig hur du lägger till text i befintliga PDF-filer med C#. Dessutom har du sett hur du lägger till transparent text i en PDF dynamiskt. Du kan enkelt installera biblioteket och använda de medföljande metoderna för textinfogning i PDF-filer.

Se även