SetMarkInfo
Document properties, Accessibility
Description
Устанавливает словарь документа /MarkInfo в каталоге Catalog; когда Marked равен 1, каталог получает запись /MarkInfo << /Marked true /Suspects false >>, объявляющую документ размеченным PDF; когда Marked равен 0, запись /MarkInfo удаляется
Эта функция вызывается автоматически с помощью SetPDFUAMode и SetPDFAMode на уровнях соответствия a (PDF/A-1a, PDF/A-2a, PDF/A-3a); вызывайте ее напрямую только тогда, когда вам нужен статус размеченного PDF без полной настройки PDF/UA-1 или PDF/A-A
Syntax
Delphi
Function TPDFlib.SetMarkInfo(Marked: Integer): Integer;
ActiveX
Function PDFlib::SetMarkInfo(Marked As Long) As Long
DLL
int DLSetMarkInfo(int InstanceID, int Marked);
Parameters
| Marked | 1, чтобы объявить документ помеченным (записывает /Marked true и /Suspects false); 0, чтобы удалить запись /MarkInfo |
|---|
Return values
| 1 | The /MarkInfo entry was updated successfully. |
|---|
Remarks
ISO 14289-1 (PDF/UA-1) §7.18.6 требует присутствия /Suspects со значением false, когда /Marked имеет значение true; библиотека всегда записывает /Suspects false вместе с /Marked true, поэтому один вызов SetMarkInfo(1) удовлетворяет обоим требованиям
Установка /Marked true является лишь декларативным заявлением — сама по себе она не заполняет дерево структуры документа; после вызова SetMarkInfo(1) постройте дерево структуры с помощью пар BeginTag/EndTag и пометьте декоративное содержимое с помощью пар BeginArtifact/EndArtifact; используйте GetPDFUADiagnostics для выявления распространенных пробелов перед сохранением
Предыдущее состояние /MarkInfo в загруженном документе можно запросить с помощью IsTaggedPDF
Example
// Convert a non-tagged loaded document into a tagged one, then add structure
PDF.LoadFromFile('source.pdf', '');
if PDF.IsTaggedPDF = 0 then
begin
PDF.SetMarkInfo(1);
// Re-open page 1 for editing
PDF.SelectPage(1);
PDF.BeginPageUpdate;
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Document Title');
PDF.EndTag;
PDF.EndPageUpdate;
end;
PDF.SaveToFile('tagged.pdf');See also
IsTaggedPDF, SetPDFUAMode, SetPDFAMode, BeginTag, GetPDFUADiagnostics