SetMarkInfo

Document properties, Accessibility

Description

Sets the document's /MarkInfo dictionary in the Catalog. When Marked is 1 the Catalog gains a /MarkInfo << /Marked true /Suspects false >> entry, declaring the document as a tagged PDF. When Marked is 0 the /MarkInfo entry is removed

Questa funzione viene chiamata automaticamente da SetPDFUAMode e da SetPDFAMode ai livelli di conformità a (PDF/A-1a, PDF/A-2a, PDF/A-3a); chiamarla direttamente solo quando si necessita dello stato PDF taggato senza la configurazione completa PDF/UA-1 o 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 per dichiarare il documento come taggato (scrive /Marked true e /Suspects false); 0 per rimuovere la voce /MarkInfo

Return values

1La voce /MarkInfo è stata aggiornata con successo

Remarks

ISO 14289-1 (PDF/UA-1) §7.18.6 richiede che /Suspects sia presente e impostato su false quando /Marked è true; la libreria scrive sempre /Suspects false insieme a /Marked true, quindi una singola chiamata a SetMarkInfo(1) soddisfa entrambi i requisiti

L'impostazione di /Marked true è solo un'affermazione dichiarativa — non popola di per sé l'albero di struttura del documento; dopo aver chiamato SetMarkInfo(1), compilare l'albero di struttura con coppie BeginTag/EndTag e contrassegnare il contenuto decorativo con BeginArtifact/EndArtifact; utilizzare GetPDFUADiagnostics per far emergere lacune comuni prima del salvataggio

Lo stato precedente di /MarkInfo su un documento caricato può essere verificato con 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