Создание PDF-файлов с тегами в C# .NET

Файл PDF с тегами — это тип PDF, в котором теги используются для определения логической структуры содержимого документа. Он используется для улучшения чтения для тех, кто использует вспомогательные технологии и программы чтения с экрана. В предыдущем посте мы рассказали о создании PDF-файлов в приложении .NET. В этой статье мы покажем, как создавать PDF-файлы с тегами программно в C# .NET.

C# .NET API для создания PDF с тегами — скачать бесплатно

Aspose.PDF for .NET — это надежный API для создания PDF-файлов и управления ими в приложениях .NET. Используя API, вы можете легко создавать, обрабатывать и конвертировать PDF-файлы с простыми и сложными макетами. Вы можете скачать двоичные файлы API или установить его с помощью NuGet.

PM> Install-Package Aspose.PDF

Создание файла PDF с тегами в C# .NET

Для создания элементов структуры в файле PDF с тегами Aspose.PDF для .NET предоставляет интерфейс ITaggedContent. Итак, давайте посмотрим, как использовать этот интерфейс для создания PDF-файла с тегами на C#.

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получите ссылку на TaggedContent документа в объект ITaggedContent.
  • Задайте заголовок, заголовок и язык, а также добавьте элементы в PDF-файл с помощью объекта ITaggedContent.
  • Создайте новый элемент ParagraphElement с помощью метода ITaggedContent.CreateParagraphElement() и задайте его текст.
  • Добавьте абзац в документ с помощью метода ITaggedContent.RootElement.AppendChild().
  • Наконец, сохраните файл PDF с помощью метода Document.Save(String).

В следующем примере кода показано, как создать PDF-файл с тегами на C#.

// Создать PDF-документ
Document document = new Document();

// Получить контент для работы с PDF с тегами
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Установить заголовок и язык для документа
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Добавить заголовок
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Добавить абзац
ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
paragraphElement.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphElement);

// Сохранить помеченный PDF
document.Save("tagged-pdf.pdf");

Ниже приведен вывод приведенного выше примера кода.

Создайте файл PDF с тегами в C#

C# Создание тегированного PDF-файла с вложенными элементами

В предыдущем примере мы создали простой PDF-файл с тегами, содержащий абзац. Теперь давайте посмотрим, как добавить вложенные элементы в PDF с тегами. Ниже приведены шаги для выполнения этой операции.

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получите ссылку на TaggedContent документа в объект ITaggedContent.
  • Задайте заголовок, заголовок и язык, а также добавьте элементы в PDF-файл с помощью объекта ITaggedContent.
  • Создайте новый элемент ParagraphElement с помощью метода ITaggedContent.CreateParagraphElement() и задайте его текст.
  • Используйте класс SpanElement для добавления вложенных элементов.
  • Добавьте в абзац вложенный элемент с помощью метода ParagraphElement.AppendChild().
  • Добавьте абзац в документ с помощью метода ITaggedContent.RootElement.AppendChild().
  • Наконец, сохраните файл PDF с помощью метода Document.Save(String).

В следующем примере кода показано, как добавить вложенные элементы в PDF-файл с тегами на C#.

// Создать PDF-документ
Document document = new Document();

// Получите контент для работы с Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Установить заголовок и язык для документа
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Добавить заголовок
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Создать абзац
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Добавить элемент пролета
SpanElement spanElement1 = taggedContent.CreateSpanElement();
spanElement1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.CreateQuoteElement();
quoteElement.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.StructureTextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
SpanElement spanElement2 = taggedContent.CreateSpanElement();
spanElement2.SetText(" Sed non consectetur elit.");

// Добавить к абзацу
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Добавить в корневой элемент
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Сохранить помеченный PDF
document.Save("tagged-pdf-nested-elements.pdf");

На следующем снимке экрана показан размеченный PDF-файл с вложенными элементами.

Создайте PDF-файл с тегами и вложенными элементами в C#

Стилизация структуры текста в тегированном PDF-файле на C#

Вы также можете применить стиль к тексту в PDF с тегами, установив стиль шрифта, семейство, размер и т. д. Для этого Aspose.PDF для .NET предоставляет Font, FontSize, FontStyle и свойства ForegroundColor класса StructureTextState. В следующем примере кода показано, как применить стиль текста в размеченном PDF-файле на C#.

// Создать PDF-документ
Document document = new Document();

// Получите контент для работы с Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Установить заголовок и язык для документа
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Добавить заголовок
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Создать абзац
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Установить стиль
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Добавить текст
paragraphWithQuotes.SetText("Red italic text.");

// Сохранить помеченный PDF
document.Save("tagged-pdf-text-styling.pdf");

C#, иллюстрирующий элементы структуры в файле PDF с тегами

Для иллюстрации элементов структуры Aspose.PDF для .NET предоставляет класс IllustrationElement. В следующем примере кода показано, как использовать этот класс для иллюстрации элементов структуры в PDF-файле с тегами.

// Создать PDF-документ
Document document = new Document();

// Получите контент для работы с Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Установить заголовок и язык для документа
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");

// Сохранить помеченный PDF
document.Save("tagged-pdf-illustrating-structure.pdf");

API C# для создания PDF с тегами — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы использовать Aspose.PDF для .NET без ограничений пробной версии.

Вывод

В этой статье вы узнали, как создавать PDF-файлы с тегами на C#. Кроме того, вы увидели, как программно создавать вложенные элементы, применять стили к тексту и иллюстрировать элементы структуры в размеченном PDF-файле. Кроме того, вы можете узнать больше о .NET PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

Смотрите также