2012-02-11 35 views
12

Tôi có tệp PDF mẫu có trường biểu mẫu PDF được nhúng. Tôi đang sử dụng PdfStamper để điền vào các trường này. Ngoài ra, tôi muốn có thể thay đổi lề cho PDF được tạo. có cách nào để tôi có thể sửa đổi lề trang trên bản PDF được đóng dấu không?Đặt lề trang bằng iTextSharp

+0

Bạn có cần giữ ** cùng ** kích thước trang hiện tại làm mẫu PDF của mình không, hoặc có thể chấp nhận tạo tài liệu mới với kích thước trang lớn hơn một chút không? – kuujinbo

Trả lời

13

Cách duy nhất tôi biết là như thế này.

iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(pageWidth, pageHeight); 
Document doc = new Document(rec); 
doc.SetMargins(0f, 0f, 0f, 0f); 

Tuy nhiên, điều này sẽ hạn chế lợi nhuận quá

+2

Cảm ơn rất nhiều! Đó là một vấn đề khó chịu. Cũng có thể muốn lưu ý rằng pageWidth và pageHeight là pixel. Tôi đã sử dụng 612 x 792 (cho 72dpi) để có được kích thước trang thông thường. – James

16

Bạn có thể làm tất cả trong một dòng.

Document doc = new Document(PageSize.LETTER, 0f, 0f, 0f, 0f); 
-1

setMaring Impelemented như




    public override bool SetMargins(float marginLeft, float marginRight, float marginTop, float marginBottom) 
      { 
       if ((this.writer != null) && this.writer.IsPaused()) 
       { 
        return false; 
       } 
       this.nextMarginLeft = marginLeft; 
       this.nextMarginRight = marginRight; 
       this.nextMarginTop = marginTop; 
       this.nextMarginBottom = marginBottom; 
       return true; 
      } 

do biên độ áp dụng cho trang tiếp theo. để giải quyết vấn đề này sau khi mở pdfDocument gọi newPage() giải pháp này làm việc cho tệp pdfDocument trống.



    using (FileStream msReport = new FileStream(pdfPath, FileMode.Create)) 
      { 
       using (Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 10f)) 
       { 
        try 
        { 
         //open the stream 
         pdfDoc.Open(); 
         pdfDoc.setMargin(20f, 20f, 20f, 20f); 
         pdfDoc.NewPage(); 

         pdfDoc.Close(); 

        } 
        catch (Exception ex) 
        { 
         //handle exception 
        } 

        finally 
        { 


        } 

       } 

      } 

Các vấn đề liên quan