Dodaj tekst do PDF w C#

Format PDF jest szeroko stosowany do generowania różnego rodzaju dokumentów, takich jak faktury, raporty finansowe, życiorysy itp. W świecie automatyzacji dokumenty PDF są generowane i przetwarzane z poziomu aplikacji internetowych lub komputerowych. Dlatego w niektórych przypadkach może być konieczne programowe dodanie tekstu do istniejących plików PDF. Zgodnie z tym artykuł pokazuje, jak dodawać tekst do dokumentów PDF za pomocą języka C#.

Interfejs API języka C# do dodawania tekstu do pliku PDF

Aby dynamicznie dodawać tekst do plików PDF, użyjemy Aspose.PDF for .NET. Jest to bogaty w funkcje interfejs API, który umożliwia tworzenie plików PDF i manipulowanie nimi z poziomu aplikacji .NET. Możesz pobrać interfejs API lub zainstalować go za pomocą NuGet.

PM> Install-Package Aspose.PDF

Dodaj tekst do pliku PDF za pomocą C#

Poniżej przedstawiono kroki dodawania tekstu do pliku PDF przy użyciu języka C#.

Poniższy przykładowy kod pokazuje, jak dodać tekst do pliku PDF.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otwórz dokument
Document pdfDocument = new Document("input.pdf");

// Uzyskaj określoną stronę
Page pdfPage = (Page)pdfDocument.Pages[1];

// Utwórz fragment tekstu
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Ustaw właściwości tekstu
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);

// Utwórz obiekt TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Dołącz fragment tekstu do strony PDF
textBuilder.AppendText(textFragment);

// Zapisz wynikowy dokument PDF.
pdfDocument.Save("output.pdf");

Dodaj tekst do pliku PDF za pomocą TextParagraph

Poniżej przedstawiono kroki dodawania tekstu do pliku PDF za pomocą TextParagraph.

Poniższy przykładowy kod pokazuje, jak dodać tekst do pliku PDF przy użyciu klasy TextParagraph.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// Załaduj wejściowy plik PDF
Document doc = new Document("input.pdf");

// Utwórz obiekt konstruktora tekstu dla pierwszej strony dokumentu
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Utwórz fragment tekstu z przykładowym ciągiem znaków
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // Załaduj czcionkę TrueType do obiektu stream
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Ustaw nazwę czcionki dla ciągu tekstowego
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Określ położenie fragmentu tekstu
        textFragment.Position = new Position(10, 10);
        
        // Dodaj tekst do TextBuilder, aby można go było umieścić nad plikiem PDF
        textBuilder.AppendText(textFragment);
    }

    // Zapisz wynikowy dokument PDF
    doc.Save("output.pdf");
}

Dodaj przezroczysty tekst w PDF w C#

Aspose.PDF for .NET umożliwia również dodawanie przezroczystego tekstu do dokumentu PDF, jak pokazano w poniższych krokach.

Poniższy przykładowy kod pokazuje, jak dodać przezroczysty tekst do pliku PDF.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Utwórz instancję dokumentu
Document doc = new Document("input.pdf");

// Utwórz kolekcję stron w pliku PDF
Aspose.Pdf.Page page = doc.Pages.Add();

// Utwórz obiekt Graf
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Utwórz instancję prostokąta o określonych wymiarach
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Utwórz obiekt koloru z kanału koloru Alpha
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Dodaj prostokąt do kolekcji kształtów obiektu Graph
canvas.Shapes.Add(rect);

// Dodaj obiekt wykresu do kolekcji akapitów obiektu strony
page.Paragraphs.Add(canvas);

// Ustaw wartość, aby nie zmieniać pozycji obiektu wykresu
canvas.IsChangePosition = false;

// Utwórz instancję TextFragment z przykładową wartością
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 ");

// Utwórz obiekt koloru z kanału alfa
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Ustaw informacje o kolorze dla wystąpienia tekstu
text.TextState.ForegroundColor = color;

// Dodaj tekst do kolekcji akapitów wystąpienia strony
page.Paragraphs.Add(text);

// Zapisz zaktualizowany plik PDF
doc.Save("output.pdf");

Uzyskaj bezpłatną licencję

Możesz używać Aspose.PDF for .NET bez ograniczeń ewaluacyjnych przy użyciu tymczasowej licencji.

Wniosek

W tym artykule nauczyłeś się dodawać tekst do istniejących plików PDF za pomocą języka C#. Ponadto widziałeś, jak dynamicznie dodawać przezroczysty tekst do pliku PDF. Więcej informacji na temat C# PDF API można znaleźć w dokumentacji. Możesz również zamieścić swoje zapytania na naszym forum.

Zobacz też