2012-04-06 14 views
16

मैं iTextSharp का उपयोग करके लैंडस्केप पीडीएफ बनाने की कोशिश कर रहा हूं लेकिन यह अभी भी चित्र दिखा रहा है। मैं घूर्णन के साथ निम्नलिखित कोड का उपयोग कर रहा हूं:iTextsharp लैंडस्केप दस्तावेज़

Document document = new Document(PageSize.A4, 0, 0, 150, 20); 
FileStream msReport = new FileStream(Server.MapPath("~/PDFS/") + "Sample1.pdf", FileMode.Create); 

try 
{ 
    // creation of the different writers 
    PdfWriter writer = PdfWriter.GetInstance(document, msReport); 

    document.Open(); 

    PdfPTable PdfTable = new PdfPTable(1); 
    PdfTable.SpacingBefore = 30f; 


    PdfPCell PdfPCell = null; 

    Font fontCategoryheader = new Font(Font.HELVETICA, 10f, Font.BOLD, Color.BLACK); 

    for (int i = 0; i < 20; i++) 
    { 
     PdfPCell = new PdfPCell(new Phrase(new Chunk("Sales Manager: ", fontCategoryheader))); 
     PdfPCell.BorderWidth = 0; 
     PdfPCell.HorizontalAlignment = Element.ALIGN_LEFT; 

     if (i % 2 == 0) 
      PdfPCell.BackgroundColor = Color.LIGHT_GRAY; 

     PdfPCell.PaddingBottom = 5f; 
     PdfPCell.PaddingLeft = 2f; 
     PdfPCell.PaddingTop = 4f; 
     PdfPCell.PaddingRight = 4f; 
     PdfTable.AddCell(PdfPCell); 
    } 

    document.Add(PdfTable); 
    document.NewPage(); 

} 
catch (Exception ex) 
{ 
    Console.Error.WriteLine(ex.Message); 
} 

finally 
{ 
    // we close the document 
    document.Close(); 
} 

कृपया समाधान का सुझाव दें।

धन्यवाद।

+0

आप आयत pageSize साथ = नई आयत (150, 20) की जाँच कर सकते हैं; दस्तावेज़ दस्तावेज़ = नया दस्तावेज़ (पृष्ठ आकार); – Vinay

+0

पहले से ही उत्तर दिए गए प्रश्न की जांच करें, आपको आवश्यक सुराग मिल सकता है http://stackoverflow.com/questions/2370427/itextsharp-set-a-document-horizontal-page-a4 –

उत्तर

30

इस

Document Doc = new Document(new Rectangle(288f, 144f), 10, 10, 10, 10); 
Doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()); 

आप भी इस आवश्यकता हो सकती है अधिकतम चौड़ाई के लिए एक तालिका का विस्तार करने की कोशिश करो।

var _pdf_table = new PdfPTable(2); // table with two columns 
PdfPCell hc = new PdfPCell(); 
_pdf_table.WidthPercentage = 100; //table width to 100per 
_pdf_table.SetTotalWidth(new float[] { 25, iTextSharp.text.PageSize.A4.Rotate().Width - 25 });// width of each column 

सम्मान।

+0

हाय शोएब, नहीं, यह अभी भी एक ही आकार दिखा रहा है । परिदृश्य के साथ, चौड़ाई ऊंचाई से अधिक होगी या पाठ दिशा शीर्ष से नीचे या नीचे शीर्ष हो जाएगी? – DotnetSparrow

+0

चौड़ाई अधिक हो गई .. यह सामग्री को घुमाएगी –

+0

चेक कोड जो मैंने अभी जोड़ा है। मैं साझा किया गया बीटीडब्ल्यू कोड itextsharp 4.1 –

3

दस्तावेज़ को प्रारंभ और पृष्ठ आकार पुनर्स्थापित करने के लिए कोई ज़रूरत नहीं ...

Document doc = new Document(iTextSharp.text.PageSize.A4.Rotate(), 10, 10, 10, 10); 

... चाल करेंगे।

(4.1.6.0)