Attachments
Attachments
यह पृष्ठ PDF के भीतर फ़ाइलों को एम्बेड करने को कवर करता है। दो अलग-अलग तंत्र हैं: दस्तावेज़-स्तर के संलग्नक, जो किसी पृष्ठ पर दिखाई नहीं देने वाली एम्बेडेड फ़ाइलें होती हैं, और पृष्ठ-स्थापित फ़ाइल संलग्नक एनोटेशन, जो विशिष्ट पृष्ठ पर क्लिक करने योग्य आइकन रखते हैं।
दस्तावेज़-स्तर के संलग्नक
Document.AddAttachment() bytes को एक name के तहत एम्बेड करता है, इसे दस्तावेज़ की एम्बेडेड-फ़ाइल नाम ट्री में अपसर्ट करता है — समान नाम के साथ फिर से जोड़ने से मौजूदा प्रविष्टि ओवरराइट हो जाती है। यह एक Attachment हैंडल लौटाता है। Document.GetAttachments() सभी दस्तावेज़-स्तर के संलग्नकों को Attachment हैंडल की एक array के रूप में लौटाता है, नाम के अनुसार क्रमबद्ध, और Document.RemoveAttachment() नाम द्वारा एक को हटाता है।
यह Attachment हैंडल Name, Description, MimeType, Size, CreationDate और ModDate को गुणों (properties) के रूप में उजागर करता है, GetBytes() एम्बेडेड फ़ाइल की कच्ची सामग्री को पढ़ने के लिए, और GetField() / SetField() / RemoveField() व्यक्तिगत /Filespec फ़ील्ड्स तक निम्न-स्तर की पहुंच के लिए। वैकल्पिक AttachmentOptions जो AddAttachment() को पास किया जाता है, mimeType, description, compress, creationDate, और modDate को स्वीकार करता है।
इस प्लेटफ़ॉर्म के वर्तमान ज्ञान स्नैपशॉट में इस API के लिए कोई सत्यापित कोड उदाहरण उपलब्ध नहीं है — नीचे दिए गए API Reference सारांश में सटीक विधि और गुण नाम देखें।
पृष्ठ-स्थापित फ़ाइल संलग्नक
Page.AddFileAttachment() एक फ़ाइल एम्बेड करता है और एक /FileAttachment आइकन एनोटेशन को किसी दिए हुए rect पर एक विशिष्ट पृष्ठ पर रखता है, एक FileAttachmentAnnotation लौटाता है। एक दस्तावेज़-स्तर के अटैचमेंट के विपरीत, यह दृश्य और PDF व्यूअर में क्लिक करने योग्य होता है। FileAttachmentAnnotation सामान्य एनोटेशन प्रॉपर्टीज़ (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) को अपने स्वयं के Icon और FileName के साथ साझा करता है, और GetBytes() को एम्बेडेड सामग्री पढ़ने तथा Flatten() को आइकन को स्थैतिक पृष्ठ सामग्री में बेक करने का समर्थन करता है।
टिप्स और सर्वोत्तम प्रथाएँ
- एक फ़ाइल जो PDF के साथ यात्रा करनी चाहिए लेकिन किसी पृष्ठ पर दिखाई नहीं देनी चाहिए, उसके लिए एक दस्तावेज़-स्तर अटैचमेंट (
Document.AddAttachment()) का उपयोग करें; जब फ़ाइल को विशिष्ट स्थान पर क्लिक करने योग्य आइकन द्वारा प्रदर्शित किया जाना चाहिए, तबPage.AddFileAttachment()का उपयोग करें। Document.AddAttachment()समानnameवाले मौजूदा अटैचमेंट को ओवरराइट कर देता है — यदि आप अनजाने में किसी को बदलने से बचना चाहते हैं तो पहलेDocument.GetAttachments()जांचें।GetBytes()के साथ किसी भी हैंडल प्रकार पर अटैचमेंट की सामग्री को पुनः पढ़ें — यह मेथड दोनोंAttachmentऔरFileAttachmentAnnotationपर मौजूद है।
सामान्य समस्याएँ
| समस्या | कारण | समाधान |
|---|---|---|
| एक नया जोड़ा गया अटैचमेंट मौजूदा अटैचमेंट को बदल दिया | Document.AddAttachment() को कॉल किया गया जब एक name पहले से उपयोग में था | नाम टकराव की जाँच करने के लिए पहले Document.GetAttachments() को कॉल करें |
| अटैचमेंट के पृष्ठ पर कोई दृश्यमान आइकन नहीं है | Document.AddAttachment() का उपयोग किया गया, जो दस्तावेज़-स्तर का है और डिजाइन के अनुसार पृष्ठ पर कोई उपस्थिति नहीं रखता | दृश्यमान, पृष्ठ-एंकर आइकन के लिए इसके बजाय Page.AddFileAttachment() का उपयोग करें |
Document.RemoveAttachment() false लौटाता है | नाम ट्री में दिए गए name वाला कोई attachment मौजूद नहीं है | हटाने से पहले Document.GetAttachments() के माध्यम से सटीक नाम की पुष्टि करें |
FAQ
Document.AddAttachment और Page.AddFileAttachment में क्या अंतर है?
Document.AddAttachment() फ़ाइल को दस्तावेज़ स्तर पर एम्बेड करता है और किसी भी पृष्ठ पर कोई दिखाई देने वाला आइकन नहीं रहता। Page.AddFileAttachment() फ़ाइल को एम्बेड करता है और एक क्लिक करने योग्य /FileAttachment आइकन एनोटेशन को किसी एक पृष्ठ पर विशिष्ट स्थान पर रखता है।
मैं दस्तावेज़ में पहले से एम्बेड किए गए सभी अटैचमेंट को कैसे सूचीबद्ध करूँ?
Document.GetAttachments() को कॉल करें, जो प्रत्येक दस्तावेज़-स्तर के अटैचमेंट को Attachment हैंडल की एक एरे के रूप में नाम के अनुसार क्रमबद्ध लौटाता है।
मैं अटैचमेंट की फ़ाइल सामग्री को वापस कैसे पढ़ूँ?
Attachment (या FileAttachmentAnnotation) हैंडल पर GetBytes() को कॉल करें — यह दोनों पर उपलब्ध है।
क्या मैं कोई अटैचमेंट हटा सकता हूँ?
हाँ — Document.RemoveAttachment(name) नाम द्वारा दस्तावेज़-स्तर का अटैचमेंट हटाता है और यह लौटाता है कि क्या कोई मिला और हटाया गया।
API Reference सारांश
| Class/Method | विवरण |
|---|---|
Document.AddAttachment() | बाइट्स को एक नामित, दस्तावेज़-स्तर के attachment के रूप में एम्बेड करें |
Document.GetAttachments() | प्रत्येक दस्तावेज़-स्तरीय अटैचमेंट की सूची बनाएं |
Document.RemoveAttachment() | नाम द्वारा दस्तावेज़-स्तरीय अटैचमेंट हटाएँ |
Attachment | एक से अधिक एम्बेडेड फ़ाइल को संभालें; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | फ़ाइल को पृष्ठ-एंकर, क्लिक करने योग्य आइकन एनोटेशन के रूप में एम्बेड करें |
FileAttachmentAnnotation | पेज-एंकर किया गया अटैचमेंट का एनोटेशन हैंडल; जोड़ता है Icon, FileName |