2010-10-11 10 views
7

मैं अपने पीडीएफ दस्तावेज को शुरू करने की कोशिश कर रहा हूं (0,0) हालांकि ऐसा लगता है कि दस्तावेज़ ऑब्जेक्ट में एक डिफ़ॉल्ट शीर्ष मार्जिन है जिसे मैं 0 पर सेट नहीं कर सकता। क्या ऐसा करने का कोई तरीका है?Iextsharp के साथ एक पीडीएफ दस्तावेज़ पर डिफ़ॉल्ट शीर्ष मार्जिन को कैसे हटाया जा सकता है?

मेरे कोड निम्नलिखित

 using (MemoryStream memoria = new MemoryStream()) 
     { 
      Document pdf = new Document(new Rectangle(288, 144)); 

      try 
      { 
       PdfWriter writer = PdfWriter.GetInstance(pdf, memoria); 

       pdf.Open(); 
       pdf.SetMargins(0, 0, 0, 0); 

       PdfPTable tPrincipal = new PdfPTable(2);    
       tPrincipal .WidthPercentage = 100;   
       tPrincipal .DefaultCell.Border = 0; 
       tPrincipal .TotalWidth = 288f; 
       tPrincipal .LockedWidth = true; 

.... की तरह लग रहा

मैं सिर्फ 0 पर ऊपरी हाशिया यह सिर्फ करने के लिए अपनी सेटिंग (0 के बारे में देखभाल नहीं करता सेट करने के लिए नहीं कर सकते, 0,0,0) और एक शीर्ष मार्जिन (लगभग 50 एफ) छोड़ देता है।

उत्तर

14

आप इस तरह, अपने दस्तावेज़ निर्माता में अपने मार्जिन सेट करना होगा:

Document pdf = new Document(new Rectangle(288f, 144f), 0, 0, 0, 0); 

आप Document.SetMargins() विधि का उपयोग करने की जरूरत नहीं होगी। मेरा मानना ​​है कि Document.NewPage() पर कॉल करके आप एक नया पृष्ठ बनाने के बाद SetMargins() का उपयोग करेंगे।

+1

धन्यवाद जय ने काम किया, हालांकि मुझे सभी सीरोस के बाद "एफ" शामिल करना पड़ा। दस्तावेज़ पीडीएफ = नया दस्तावेज़ (नया आयताकार (288 एफ, 144 एफ), 0 एफ, 0 एफ, 0 एफ, 0 एफ); – Lilian

+0

@ लिलियन, अच्छी बात यह है कि वे फ्लोट की उम्मीद कर रहे हैं। –

+1

और जब आप 0 का उपयोग करते हैं तो कोई त्रुटि नहीं होती है, यह केवल डिफ़ॉल्ट मार्जिन में डालती है। 0 एफ सभी तरह से! – TChadwick

1

विकल्प 1:

Document doc = new Document(); 
doc.setMargins(0 , 0 , 0 , 0); 

विकल्प 2:

Document pdf = new Document(new Rectangle(595 , 842), 0, 0, 0, 0); 

कहाँ, 595x842 ए 4 आकार के कागज है।

संबंधित मुद्दे