AddTagAttribute
Tagged PDF, Dostępność
Opis
Dodaje nazwany atrybut do elementu struktury aktualnie tworzonego na stosie znaczników. Atrybut jest zapisywany jako słownik atrybutów PDF /A (lub tablica słowników) podczas zapisywania dokumentu. Wywołaj tę funkcję po BeginTag lub BeginTagEx, a przed EndTag.
Składnia
Delphi
Function TPDFlib.AddTagAttribute(Const Owner, Name, Value: WideString): Integer;
ActiveX
Function PDFlib::AddTagAttribute(Owner As String, Name As String, Value As String) As Long
DLL
int DLAddTagAttribute(int InstanceID, const wchar_t * Owner, const wchar_t * Name, const wchar_t * Value);
Parametry
| Owner | Nazwa właściciela atrybutu zdefiniowana w ISO 32000-1, tabela 348 (np. Layout, Table, List, PrintField). Staje się kluczem /O w słowniku atrybutów. |
|---|---|
| Name | Nazwa atrybutu dla danego właściciela (np. BBox dla Layout, Scope dla Table). Nie może być pusta. |
| Value | Wartość atrybutu jako ciąg. Pojedyncza liczba jest zapisywana jako liczba PDF, a wartości zawierające wyłącznie liczby rozdzielone spacjami (np. "0 0 200 100") — jako tablica liczb rzeczywistych PDF. Liczby używają kropki jako separatora dziesiętnego na każdym systemie; liczba zapisana systemowym separatorem dziesiętnym też jest akceptowana. Każda inna wartość jest zapisywana jako obiekt nazwy PDF (bez początkowego /). Nie może być pusta. |
Wartość zwracana
Zwraca 1 po powodzeniu. Zwraca 0, jeśli nie otwarto dokumentu, żaden znacznik nie jest obecnie otwarty albo Owner lub Name jest puste.
Uwagi
Wiele wywołań AddTagAttribute dla tego samego otwartego znacznika jest kumulowanych. Gdy atrybuty należą do jednego właściciela, biblioteka zapisuje pojedynczy słownik atrybutów /A. Gdy używanych jest wielu właścicieli, atrybuty są grupowane według właściciela i zapisywane jako tablica słowników atrybutów.
W przypadku typowych atrybutów wygodnych funkcji opakowujących SetStructElemScope i SetStructElemBBox można użyć zamiast bezpośredniego wywołania AddTagAttribute.
Atrybuty są resetowane po otwarciu nowego znacznika; elementy potomne ich nie dziedziczą
Przykład
// Mark a table header cell with column scope
PDFlib.BeginTag('TH', '', '', '');
PDFlib.AddTagAttribute('Table', 'Scope', 'Column');
// ... draw cell content
PDFlib.EndTag;
// Mark a figure with a bounding box
PDFlib.BeginTag('Figure', 'Company logo', '', '');
PDFlib.AddTagAttribute('Layout', 'BBox', '72 600 200 700');
PDFlib.EndTag;Zobacz również
BeginTag, BeginTagEx, EndTag, SetStructElemScope, SetStructElemBBox