Додайте текст до PDF на C#

Формат PDF широко використовується для створення різних типів документів, таких як рахунки-фактури, фінансові звіти, резюме тощо. У світі автоматизації PDF-документи створюються та оброблюються з веб-програм або програм для настільних ПК. Таким чином, у деяких випадках вам може знадобитися додати текст до наявних PDF-файлів програмним шляхом. Після цього в цій статті показано, як додати текст до PDF-файлів у C#.

C# PDF Text Manipulation Library

Щоб динамічно додавати текст до файлів PDF, ми будемо використовувати Aspose.PDF for .NET. Це багатофункціональна бібліотека, яка дозволяє створювати PDF-файли та керувати ними з ваших програм .NET. Ви можете завантажити бібліотеку або встановити її за допомогою NuGet.

PM> Install-Package Aspose.PDF

C# Додавання тексту до PDF

Нижче наведено кроки, щоб додати текст до файлу PDF у C#.

  • Завантажте PDF-файл за допомогою класу Document.
  • Отримайте потрібну сторінку PDF-файлу в об’єкт Сторінка.
  • Створіть об’єкт TextFragment і встановіть його текст, положення, шрифт, колір тла тощо.
  • Створіть об’єкт TextBuilder та ініціалізуйте його об’єктом Page.
  • Використовуйте метод TextBuilder.AppendText(TextFragment), щоб додати текст на сторінку PDF.
  • Збережіть оновлений файл PDF за допомогою методу Document.Save(String).

Код вставки тексту C# PDF

У наведеному нижче прикладі коду показано, як вставити текст у PDF-файл у C#.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// відкритий документ
Document pdfDocument = new Document("input.pdf");

// Отримати конкретну сторінку
Page pdfPage = (Page)pdfDocument.Pages[1];

// Створення текстового фрагмента
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Встановити властивості тексту
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
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Додайте фрагмент тексту на сторінку PDF
textBuilder.AppendText(textFragment);

// Збережіть отриманий PDF-документ.
pdfDocument.Save("output.pdf");

C# Вставте текст у PDF за допомогою TextParagraph

Нижче наведено кроки, щоб додати текст до файлу PDF за допомогою TextParagraph.

  • Завантажте PDF-файл за допомогою класу Document.
  • Отримайте потрібну сторінку PDF-файлу в об’єкт Сторінка або додайте нову.
  • Створіть об’єкт TextBuilder та ініціалізуйте його об’єктом Page.
  • Створіть об’єкт класу TextParagraph.
  • Укажіть розташування абзацу за допомогою властивості TextParagraph.Rectangle.
  • Встановіть параметри форматування TextParagraph.
  • Створіть об’єкт TextFragment і встановіть його текст, положення, шрифт, колір тла тощо.
  • Додайте TextFragment до абзацу за допомогою методу TextParagraph.AppendLine(TextFragment).
  • Додайте абзац на сторінку за допомогою методу TextBuilder.AppendParagraph(TextParagraph).
  • Збережіть оновлений файл PDF за допомогою методу Document.Save(String).

У наведеному нижче прикладі коду C# показано вставлення тексту в PDF за допомогою класу TextParagraph.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// Завантажити вхідний файл PDF
Document doc = new Document("input.pdf");

// Створити об’єкт конструктора тексту для першої сторінки документа
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Створіть текстовий фрагмент із зразком рядка
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // Завантажте шрифт TrueType в об’єкт потоку
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Встановіть назву шрифту для текстового рядка
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Вкажіть позицію для текстового фрагмента
        textFragment.Position = new Position(10, 10);
        
        // Додайте текст до TextBuilder, щоб його можна було розмістити поверх файлу PDF
        textBuilder.AppendText(textFragment);
    }

    // Збережіть отриманий PDF-документ
    doc.Save("output.pdf");
}

Вставлення прозорого тексту в PDF на C#

Aspose.PDF for .NET також дозволяє додавати прозорий текст до документа PDF, як показано в наступних кроках.

  • Завантажте PDF-файл за допомогою класу Document.
  • Отримайте потрібну сторінку PDF-файлу в об’єкт Сторінка або додайте нову.
  • Створіть та ініціалізуйте об’єкт Graph.
  • Створіть об’єкт Rectangle та ініціалізуйте його.
  • Установіть властивість Rectangle.GraphInfo.FillColor.
  • Додайте прямокутник до графіка за допомогою методу Graph.Shapes.Add(Rectangle).
  • Додайте Graph до колекції абзаців сторінки за допомогою методу Page.Paragraphs.Add(Graph).
  • Створіть об’єкт TextFragment і встановіть його властивість TextState.ForegroundColor.
  • Додайте TextFragment на сторінку за допомогою методу Page.Paragraphs.Add(TextFragment).
  • Збережіть оновлений файл PDF за допомогою методу Document.Save(String).

У наведеному нижче прикладі коду показано, як додати прозорий текст до PDF-файлу на C#.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Створити екземпляр документа
Document doc = new Document("input.pdf");

// Створення посторінкової колекції файлів PDF
Aspose.Pdf.Page page = doc.Pages.Add();

// Створити об'єкт Graph
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Створіть екземпляр прямокутника з певними розмірами
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Створення кольорового об’єкта з каналу кольорів Alpha
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Додайте прямокутник до колекції фігур об’єкта Graph
canvas.Shapes.Add(rect);

// Додайте графічний об’єкт до колекції абзаців об’єкта сторінки
page.Paragraphs.Add(canvas);

// Установіть значення, щоб не змінювати положення для об’єкта графіка
canvas.IsChangePosition = false;

// Створіть екземпляр TextFragment із зразком значення
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 ");

// Створіть кольоровий об'єкт з альфа-каналу
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Установіть інформацію про колір для екземпляра тексту
text.TextState.ForegroundColor = color;

// Додайте текст до колекції абзаців екземпляра сторінки
page.Paragraphs.Add(text);

// Збережіть оновлений файл PDF
doc.Save("output.pdf");

Безкоштовна бібліотека вставки тексту PDF

Ви можете отримати безкоштовну тимчасову ліцензію для вставки тексту в PDF-файли без будь-яких обмежень.

Бібліотека C# PDF

Ви можете дізнатися більше про бібліотеку PDF C# за допомогою документації. Ви також можете опублікувати свої запити на нашому форумі.

Висновок

У цій статті ви дізналися, як додавати текст до наявних файлів PDF за допомогою C#. Крім того, ви бачили, як динамічно додавати прозорий текст до PDF-файлу. Ви можете легко встановити бібліотеку та використовувати надані методи вставки тексту в PDF-файли.

Дивись також