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

Marked1, чтобы объявить документ помеченным (записывает /Marked true и /Suspects false); 0, чтобы удалить запись /MarkInfo

Return values

1The /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