Пометить изображение в существующем PDF-файле

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

Шаг 1. Настройка среды

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

Шаг 2. Откройте существующий PDF-документ.

На этом этапе мы откроем существующий PDF-документ с помощью Aspose.PDF.

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENTS DIRECTORY";

// Пути к входным и выходным файлам
string inFile = dataDir + "TH.pdf";
string outFile = dataDir + "TH_out.pdf";
string logFile = dataDir + "TH_out.xml";

// Открыть документ
Document document = new Document(inFile);

Мы открыли существующий PDF-документ с помощью Aspose.PDF.

Шаг 3. Получите тегированный контент и элемент корневой структуры

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

// Получить тегированный контент и элемент корневой структуры
ITaggedContent taggedContent = document.TaggedContent;
StructureElement rootElement = taggedContent.RootElement;

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

Шаг 4. Установка заголовка PDF-документа с тегами

Теперь давайте зададим заголовок для PDF-документа с тегами.

// Определите заголовок для PDF-документа с тегами
taggedContent.SetTitle("Document with images");

Мы установили заголовок для PDF-документа с тегами.

Шаг 5. Назначьте изображению замещающий текст и ограничительную рамку.

Теперь для каждого элемента изображения мы назначим замещающий текст и ограничивающую рамку.

foreach(FigureElement figureElement in rootElement.FindElements<FigureElement>(true))
{
     // Назначьте альтернативный текст изображению
     figureElement.AlternativeText = "Alternative text for image (technique 2)";
     // Создайте и назначьте ограничивающую рамку (bbox)
     StructureAttribute bboxAttribute = new StructureAttribute(AttributeKey.BBox);
     bboxAttribute.SetRectangleValue(new Rectangle(0.0, 0.0, 100.0, 100.0));
     StructureAttributes figureLayoutAttributes = figureElement.Attributes.GetAttributes(AttributeOwnerStandard.Layout);
     figureLayoutAttributes.SetAttribute(bboxAttribute);
}

Мы назначили замещающий текст и ограничивающую рамку каждому элементу изображения в документе PDF.

Шаг 6. Перемещение элемента Span в абзац.

Теперь переместим элемент Span в абзац.

// Переместить элемент Span в абзац (найти неправильный диапазон и абзац в первом TD)
TableElement tableElement = rootElement.FindElements<TableElement>(true)[0];
SpanElement spanElement = tableElement.FindElements<SpanElement>(true)[0];
TableTDElement firstTdElement = tableElement.FindElements<TableTDElement>(true)[0];
ParagraphElement paragraph = firstTdElement.FindElements<ParagraphElement>(true)[0];

// Переместите элемент Span в абзац
spanElement.ChangeParentElement(paragraph);

Мы переместили элемент Span в указанный абзац.

Шаг 7. Сохранение измененного PDF-документа.

Теперь, когда мы внесли необходимые изменения, мы сохраним измененный PDF-документ.

// Сохраните PDF-документ
document. Save(outFile);

Мы сохранили измененный PDF-документ в указанном каталоге.

Пример исходного кода для изображения тега в существующем PDF с использованием Aspose.PDF для .NET


// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string inFile = dataDir + "TH.pdf";
string outFile = dataDir + "TH_out.pdf";
string logFile = dataDir + "TH_out.xml";

// Открыть документ
Document document = new Document(inFile);

// Получает тегированное содержимое и элемент корневой структуры.
ITaggedContent taggedContent = document.TaggedContent;
StructureElement rootElement = taggedContent.RootElement;

// Установить заголовок для PDF-документа с тегами
taggedContent.SetTitle("Document with images");
foreach (FigureElement figureElement in rootElement.FindElements<FigureElement>(true))
{
	// Установить альтернативный текст для рисунка
	figureElement.AlternativeText = "Figure alternative text (technique 2)";
	// Создайте и установите атрибут BBox
	StructureAttribute bboxAttribute = new StructureAttribute(AttributeKey.BBox);
	bboxAttribute.SetRectangleValue(new Rectangle(0.0, 0.0, 100.0, 100.0));
	StructureAttributes figureLayoutAttributes = figureElement.Attributes.GetAttributes(AttributeOwnerStandard.Layout);
	figureLayoutAttributes.SetAttribute(bboxAttribute);
}

// Переместить элемент Span в абзац (найти неправильный диапазон и абзац в первом TD)
TableElement tableElement = rootElement.FindElements<TableElement>(true)[0];
SpanElement spanElement = tableElement.FindElements<SpanElement>(true)[0];
TableTDElement firstTdElement = tableElement.FindElements<TableTDElement>(true)[0];
ParagraphElement paragraph = firstTdElement.FindElements<ParagraphElement>(true)[0];

// Переместить элемент Span в абзац
spanElement.ChangeParentElement(paragraph);

// Сохранить документ
document.Save(outFile);

//Проверка соответствия PDF/UA для нашего документа
document = new Document(outFile);
bool isPdfUaCompliance = document.Validate(logFile, PdfFormat.PDF_UA_1);
Console.WriteLine(String.Format("PDF/UA compliance: {0}", isPdfUaCompliance));

Заключение

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

Часто задаваемые вопросы

Вопрос: Какова основная цель этого руководства по разметке изображений в существующем PDF-файле с использованием Aspose.PDF для .NET?

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

Вопрос: Каковы необходимые условия для выполнения этого руководства по разметке изображений в PDF-файле с помощью Aspose.PDF для .NET?

О: Прежде чем начать, убедитесь, что вы настроили свою среду разработки для использования Aspose.PDF для .NET. Это включает в себя установку библиотеки Aspose.PDF и настройку вашего проекта для ссылки на нее.

Вопрос: Как я могу открыть существующий PDF-документ и получить доступ к его размеченному содержимому с помощью Aspose.PDF для .NET?

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

Вопрос: Какова цель назначения альтернативного текста и ограничивающих рамок изображениям в PDF-документе?

Ответ: Назначение альтернативного текста и ограничивающих рамок изображениям повышает доступность за счет предоставления описательного текста для изображений и определения их макета и положения в документе. Эта информация имеет решающее значение для программ чтения с экрана и других вспомогательных технологий.

Вопрос: Как я могу установить заголовок для PDF-документа с тегами, используя Aspose.PDF для .NET?

О: Учебное пособие включает примеры исходного кода C#, которые иллюстрируют, как установить заголовок для PDF-документа с тегами с помощью Aspose.PDF для .NET.

Вопрос: Что включает в себя процесс перемещения элементов в PDF-документе?

О: Перемещение элементов в PDF-документе предполагает изменение родительского элемента определенного элемента. В этом уроке вы узнаете, как переместить элемент Span в указанный элемент Paragraph в таблице.

Вопрос: Как сохранить измененный PDF-документ после добавления тегов и редактирования изображений?

О: После того как вы добавили теги, назначили альтернативный текст, установили ограничивающие рамки и внесли изменения в PDF-документ, вы можете использовать предоставленные примеры исходного кода C#, чтобы сохранить измененный PDF-документ с помощьюSave() метод.

Вопрос: Какова цель примера исходного кода, представленного в руководстве?

О: Пример исходного кода служит практическим справочником по реализации тегов и манипуляций с изображениями с помощью Aspose.PDF для .NET. Вы можете использовать этот код в качестве отправной точки и изменить его в соответствии со своими конкретными требованиями.

Вопрос: Могу ли я применить эти методы к другим типам элементов PDF-документа, а не только к изображениям?

О: Да, методы, продемонстрированные в этом руководстве, можно адаптировать для работы с различными типами элементов в PDF-документе. Вы можете применять аналогичные принципы для тегирования и управления другими элементами, такими как текст, таблицы и т. д.

Вопрос: Как я могу проверить соответствие PDF/UA измененного PDF-документа?

Ответ: В руководстве представлены примеры исходного кода C#, которые показывают, как проверить соответствие PDF/UA измененного PDF-документа с помощьюValidate() метод и создание отчета XML.

Вопрос: Какие еще функции предлагает Aspose.PDF for .NET для работы с PDF-документами?

О: Aspose.PDF для .NET предлагает широкий спектр функций для работы с PDF-документами, включая манипулирование текстом, вставку изображений, создание таблиц, управление полями форм, цифровые подписи, аннотации и многое другое. Для дальнейшего изучения обратитесь к официальной документации и ресурсам.