2013-04-30 7 views
6

का उपयोग कर छवि स्थिति सेट करना मुझे पेपर आकार के पृष्ठ अभिविन्यास के संबंध में कोई समस्या है।
मेरे पास एक पीडीएफ फ़ाइल है जिसमें चित्र और परिदृश्य पृष्ठ है।iTextSharp

यह कोड पूरी तरह से काम करता है।

string FileLocation = "c:\\Temp\\SomeFile.pdf"; 
    string WatermarkLocation = "c:\\Temp\\watermark.gif"; 

    Document document = new Document(); 
    PdfReader pdfReader = new PdfReader(FileLocation); 
    PdfStamper stamp = new PdfStamper(pdfReader, new FileStream(FileLocation.Replace(".pdf","[temp][file].pdf"), FileMode.Create)); 

    iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(WatermarkLocation); 
    img.SetAbsolutePosition(250,300); // set the position in the document where you want the watermark to appear (0,0 = bottom left corner of the page) 

    PdfContentByte waterMark; 
    for (int page = 1; page <= pdfReader.NumberOfPages; page++) 
    { 
     waterMark = stamp.GetUnderContent(page); 
     waterMark.AddImage(img); 
    } 
    stamp.FormFlattening = true; 
    stamp.Close(); 

    // now delete the original file and rename the temp file to the original file 
    File.Delete(FileLocation); 
    File.Move(FileLocation.Replace(".pdf", "[temp][file].pdf"), FileLocation); 

क्योंकि मैं छवि स्थिति सेट करने के लिए पूर्ण मूल्य का उपयोग कर रहा हूं।

img.SetAbsolutePosition(250,300); 

पृष्ठ पृष्ठ परिदृश्य या चित्र होने पर छवि स्थिति सेट कैसे कर सकता है?
नोट: परिदृश्य और चित्र पृष्ठ अभिविन्यास के साथ एक पीडीएफ।

क्या कोई मौका है कि मैं कथन का उपयोग कर सकता हूं?

if (//paper is landscape) 
{ 
//code here 
} 
else 
{ 
//code here 

}

उत्तर

1

आप क्या हासिल करना चाहते हैं?

आम तौर पर, iText पृष्ठ रोटेशन के मान को ध्यान में रखता है। इसका मतलब है कि जब एक पृष्ठ घुमाया जाता है, तो निर्देशांक भी घुमाए जाएंगे।

stamper.RotateContents = false; 

यह Chapter 6 of my book में समझाया गया है:

आप इस रद्द करना चाहते हैं, तो आप इस लाइन जोड़ सकते हैं।

  1. कोई रोटेशन, पाठ सामान्य रूप से कहा:: आप अंतर देखने के लिए this example कोशिश कर सकते हैं hello1.pdf
  2. रोटेशन, पाठ सामान्य रूप से जोड़ा (= घुमाया): hello2.pdf
  3. रोटेशन, पाठ रोटेशन पर ध्यान नहीं दिया साथ कहा: hello3.pdf

बेशक, यह मानता है कि पृष्ठों के लिए एक घूर्णन परिभाषित किया गया था। कभी-कभी, घूर्णन को परिभाषित करने के बजाय परिदृश्य को एक अलग पृष्ठ आकार को परिभाषित करके नकल किया जाता है।

उस स्थिति में, आपको Chapter 6 भी पढ़ना चाहिए क्योंकि यह बताता है कि दस्तावेज़ के मीडियाबॉक्स को कैसे प्राप्त किया जाए। उदाहरण PageInformation देखें जो GetPageSize(), GetRotation() और GetPageSizeWithRotation() जैसी विधियों को प्रस्तुत करता है।

यह सब दस्तावेज है, लेकिन यदि यह आपके प्रश्न का उत्तर नहीं देता है, तो कृपया स्पष्ट करें। जैसा कि उदाहरण में दिखाया गया है, नई सामग्री जोड़ते समय घूर्णन को डिफ़ॉल्ट रूप से ध्यान में रखा जाता है, इसलिए शायद मैंने इस सवाल को गलत समझा।