2012-02-11 1 views
12

У меня есть файл в формате PDF, в котором есть поле формы PDF. Я использую PdfStamper для заполнения этих полей. Кроме того, я хотел бы иметь возможность изменять поля для созданного PDF. есть ли способ изменить поля страницы в штампованном PDF-файле?Установите поля страницы с iTextSharp

+0

Нужно ли поддерживать ** тот же самый существующий размер страницы в качестве вашего PDF-шаблона, или это приемлемо для создания нового документа со слегка большим/меньшим размером страницы? – kuujinbo

ответ

13

Только так я знаю, это так.

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

Однако, это ограничит рентабельность слишком

+2

Большое спасибо! Это была неприятная проблема. Также может потребоваться отметить, что pageWidth и pageHeight находятся в пикселях. Я использовал 612 x 792 (для 72dpi), чтобы получить обычный размер страницы. – James

16

Вы можете сделать все это в одной строке.

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

setMaring Impelemented в




    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; 
      } 

для этого запас применяется для следующей страницы. для решения этой проблемы после открытия pdfDocument call newPage() это решение работает для пустой pdfDocument.



    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 
        { 


        } 

       } 

      } 

 Смежные вопросы

  • Нет связанных вопросов^_^