2013-06-24 6 views
26

मैंने अभी iText (5.4.2, नवीनतम संस्करण) के साथ काम करना शुरू कर दिया है और दो चीजें हैं जिन्हें मैंने अभी तक सीधे प्राप्त नहीं किया है।iText परिदृश्य अभिविन्यास और स्थिति?

  • परिदृश्य में दस्तावेज़ बनाना। सभी पेज चित्रित हैं।
  • किसी दिए गए स्थान पर छवियों को सम्मिलित करना (शीर्ष & से मिलीमीटर की संख्या शेष)।

मेरे पास नीचे कोड है। (अनुरोध नहीं 10 और इसे से 15 इकाइयों दूर के रूप में)

Document d = new Document(PageSize.A4_LANDSCAPE,0,0,0,0); 
PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream("C:/test.pdf")); 
document.open(); 
document.newPage(); 
Image img = Image.getInstance(String.format("C:/file.png")); 
img.scaleToFit(400,240); 
document.left(100f); 
document.top(150f); 
document.add(img); 
document.close(); 

लेकिन पेज पोर्ट्रेट (नहीं लैंडस्केप) में प्रदान की गई है और छवि ऊपर बाएं कोने में डाल दिया है। मैं क्या गलत कर रहा हूं?

उत्तर

42

आप PageSize.A4_LANDSCAPE का उपयोग कर रहे हैं, एक परिवर्तक जो एक योगदानकर्ता द्वारा पेश किया गया था और जिसे कभी भी मुख्य रिलीज में जोड़ा नहीं जाना चाहिए था। कृपया इसके बजाय PageSize.A4.rotate() का उपयोग करें।

यह स्पष्ट नहीं है कि तुम क्या लाइनों के साथ हासिल करना चाहते हैं:

document.left(100f); 
document.top(150f); 

उन ही टिककर खेल, setters हैं नहीं। ऐसा लगता है कि आप मान रहे हैं कि पीडीएफ HTML के समान है। वह धारणा गलत है।

यदि आप चाहते हैं कि छवि बाईं ओर से 10 उपयोगकर्ता इकाइयां और शीर्ष पर 15 उपयोगकर्ता इकाइयां डालें (जिस स्थिति में 100 और 150 गलत मान हैं), तो आप परिभाषित करने के लिए अपने दस्तावेज़ कन्स्ट्रक्टर में 0 मानों को प्रतिस्थापित कर सकते हैं 10 उपयोगकर्ता इकाइयों का एक बायां मार्जिन और शीर्ष मार्जिन 15 उपयोगकर्ता इकाइयां।

विधि setAbsolutePosition() विधि के साथ छवि के लिए एक पूर्ण स्थिति को परिभाषित करने का एक और तरीका होगा। उस स्थिति में, आपको यह पता होना चाहिए कि समन्वय प्रणाली इस तरह से उन्मुख है कि पृष्ठ के निचले बाएं कोने में स्क्रैच से बनाए गए दस्तावेज़ों के लिए समन्वय x = 0, y = 0 है।

1
iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4.Rotate(), 10f, 10f, 10f, 0f); 
संबंधित मुद्दे