तार्किक संरचना
तार्किक संरचना
टैग्ड PDFs में एक लॉजिकल स्ट्रक्चर ट्री शामिल होता है जो दस्तावेज़ की सेमेंटिक हायरार्की को परिभाषित करता है — पैराग्राफ़, हेडिंग्स, टेबल्स, फ़िगर्स, और लिस्ट्स। Aspose.PDF FOSS for .NET TaggedContent API प्रदान करता है इस स्ट्रक्चर को बनाने और निरीक्षण करने के लिए, जो PDF/UA एक्सेसिबिलिटी कंप्लायंस के लिए आवश्यक है।
टैग की गई सामग्री तक पहुंचना
using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");संरचना तत्व बनाना
ITaggedContent प्रत्येक मानक संरचना तत्व प्रकार के लिए फ़ैक्टरी मेथड्स प्रदान करता है। तत्वों को AppendChild को कॉल करके एक ट्री में संयोजित किया जाता है।
var root = tagged.RootElement;
var heading = tagged.CreateHeaderElement(1);
heading.SetText("Chapter 1");
root.AppendChild(heading);
var paragraph = tagged.CreateParagraphElement();
paragraph.SetText("This is the first paragraph.");
root.AppendChild(paragraph);संरचित तालिकाएँ
TableElement सुलभ तालिकाएँ बनाता है जिसमें हेड, बॉडी और फुटर सेक्शन होते हैं।
var table = tagged.CreateTableElement();
root.AppendChild(table);
var thead = table.CreateTHead();
var headerRow = thead.CreateTR();
headerRow.CreateTH().SetText("Name");
headerRow.CreateTH().SetText("Value");
var tbody = table.CreateTBody();
var dataRow = tbody.CreateTR();
dataRow.CreateTD().SetText("Width");
dataRow.CreateTD().SetText("612");चित्रण और आकृतियाँ
IllustrationElement छवियों को संरचना वृक्ष में लपेटता है।
var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);संरचना तत्व प्रकार
API पूर्ण PDF संरचना तत्व प्रकारों के सेट का समर्थन करता है:
- ब्लॉक-स्तर: पैराग्राफ, हेडिंग (H1-H6), सूची, सूची आइटम, तालिका, ब्लॉककोट, कोड
- इनलाइन: स्पैन, लिंक, एनोटेशन, फ़िगर, फ़ॉर्मूला
- समूहबद्ध: विभाग, लेख, अनुभाग, भाग
टिप्स और सर्वोत्तम प्रथाएँ
- हमेशा
TitleऔरLanguageकोTaggedContentपर सेट करें PDF/UA अनुपालन के लिए। - संरचना वृक्ष को शीर्ष-से-नीचे बनाएं: तत्व बनाएं, फिर बच्चों को जोड़ें।
- स्क्रीन-रीडर पहुँच के लिए फ़िगर तत्वों पर
SetAlternativeTextका उपयोग करें। - उचित तालिका अर्थवत्ता के लिए तालिकाओं को
THead,TBody,TFootसे टैग करें। PdfFormatConversionOptionsके साथ PDF/UA अनुपालन को सत्यापित करें (Conversion guide देखें)।
सामान्य समस्याएँ
| Issue | Cause | Fix |
|---|---|---|
| PDF/UA सत्यापन विफल | स्ट्रक्चर ट्री में आवश्यक तत्व अनुपस्थित हैं | सुनिश्चित करें कि सभी सामग्री के पास संबंधित स्ट्रक्चर तत्व हों |
| शीर्षक क्रम गलत है | H2, H1 से पहले दिखाई देता है | क्रमिक शीर्षक पदानुक्रम का पालन करें |
| फ़िगर में कोई alt टेक्स्ट नहीं है | SetAlternativeText को कॉल नहीं किया गया | चित्रण के लिए हमेशा alt टेक्स्ट प्रदान करें |
| टेबल को स्क्रीन रीडर द्वारा पहचाना नहीं गया | THead/TBody संरचना अनुपस्थित है | पूर्ण टेबल स्ट्रक्चर API का उपयोग करें |
अक्सर पूछे जाने वाले प्रश्न
टैग्ड PDF क्या है?
एक टैग्ड PDF में एक लॉजिकल स्ट्रक्चर ट्री शामिल होता है जो विज़ुअल कंटेंट को सिमैंटिक एलिमेंट्स (हेडिंग्स, पैराग्राफ़, टेबल्स) से मैप करता है, जिससे एक्सेसिबिलिटी टूल्स और कंटेंट रीफ़्लो सक्षम होते हैं।
क्या टैग्ड PDF PDF/UA के समान है?
PDF/UA एक मानक है जो टैगिंग और अतिरिक्त अभिगम्यता नियमों की आवश्यकता रखता है।
टैग किए गए PDF PDF/UA अनुपालन के लिए पूर्वापेक्षा हैं।
क्या मैं मौजूदा PDF को टैग कर सकता हूँ?
TaggedContent API सबसे अच्छा काम करता है उन दस्तावेज़ों के साथ जो शुरू से बनाए गए हों। मौजूदा PDFs के लिए, संरचना ट्री को Document.TaggedContent के माध्यम से जांचें।
API संदर्भ सारांश
| क्लास / मेथड | विवरण |
|---|---|
TaggedContent | तार्किक संरचना संचालन के लिए प्रवेश बिंदु |
TaggedContent.SetTitle | पहुँचयोग्यता के लिए दस्तावेज़ शीर्षक सेट करें |
TaggedContent.SetLanguage | दस्तावेज़ भाषा सेट करें |
ITaggedContent | सभी तत्व प्रकारों के लिए फ़ैक्टरी मेथड्स के साथ इंटरफ़ेस |
StructureElement | सभी संरचना तत्वों के लिए बेस क्लास |
StructureElement.AppendChild | ट्री में एक चाइल्ड एलिमेंट जोड़ें |
StructureElement.SetText | एक तत्व की टेक्स्ट सामग्री सेट करें |
TableElement | पहुँच योग्य टेबल संरचना तत्व |
TableElement.CreateTHead | टेबल हेडर सेक्शन बनाएं |
TableElement.CreateTBody | टेबल बॉडी सेक्शन बनाएं |
TableTRElement | टेबल रो तत्व |
TableTRElement.CreateTD | डेटा सेल जोड़ें |
TableTRElement.CreateTH | हेडर सेल जोड़ें |
IllustrationElement | फ़िगर/इल्युस्ट्रेशन संरचना तत्व |
IllustrationElement.SetImage | इल्युस्ट्रेशन में एक इमेज संलग्न करें |