2012-12-18 121 views
2

我正在使用itext sharp來創建PDF格式的報告。
我想要頁面邊框。我嘗試了一些方法。我不成功。
如何使用iText for .NET獲得頂部,底部,左側,右側的頁面邊框?
我添加了一個圖像1。我想要像圖片中描述的邊框。itextsharp pdf頁面邊框?

+1

不幸的是我找不到您添加的圖像。你可以再添加一次嗎? – mkl

回答

4

您可以嘗試使用此代碼手動爲標題添加圖像。

//步驟1:添加圖像文件

strImgPath is refer the directory Info.. 

Image imgLogo = Image.GetInstance(strImgPath.ToString()+"\\abcdur compe.Jpg"); 
imgLogo.Alignment = Image.ALIGN_CENTER; 
imgLogo.ScalePercent(50f); 

//步驟2:

Add this ImgLogo to the PdfPTable by use of this 
PdfPCell pdfcellImage = new PdfPCell(imgLogo, true); 
pdfcellImage.FixedHeight = 40f; 
pdfcellImage.HorizontalAlignment = Element.ALIGN_CENTER; 
pdfcellImage.VerticalAlignment = Element.ALIGN_CENTER; 
pdfcellImage.Border = Rectangle.NO_BORDER; 
pdfcellImage.Border = Rectangle.NO_BORDER; 
pdftblImage.AddCell(pdfcellImage); 

//步驟3:

Create Chunck to add Text for address or others 
fntBoldComHd is a Base Font Library Object 

Chunk chnCompany = new Chunk("Your CompanyName\nAddress", fntBoldComHd); 

//Step 4: 

Create Phrase For add the Chunks and PdfPTables 

Phrase phHeader = new Phrase(); 

phHeader.Add(pdftblImage); 
phHeader.Add(chnCompany); 

//步驟5:

Assign the Phrase to PDF Header 
HeaderFooter header = new HeaderFooter(phHeader, false); 
header.Border = Rectangle.NO_BORDER; 
header.Alignment = Element.ALIGN_CENTER; 
docPDF.Header = header; 
+0

謝謝。它的工作。你能告訴我整個pdf邊界嗎? – Prasad

+1

希望這可能會幫助你... http://www.mikesdotnetting.com/Article/89/iTextSharp-Page-Layout-with-Columns – SUBRA

+0

沒有它的不工作 – Prasad

0

您是指文件邊距?如果是的話,使用文檔對象的構造函數指定它們:

public Document(Rectangle pageSize, float marginLeft, float marginRight, float marginTop, float marginBottom); 
1

我使用的變通辦法的一個哈克的方式,但它會創建border.Use此方法。

private void CreateBorder(PdfContentByte cb, PdfWriter writer, Document doc) 
    { 
     iTextSharp.text.Rectangle r = doc.PageSize; 
     float left = r.Left + 30; 
     float right = r.Right - 30; 
     float top = r.Top - 30; 
     float bottom = r.Bottom + 30; 
     float width = right - left; 
     float height = top - bottom; 

     PdfPTable tab = new PdfPTable(1); 
     tab.TotalWidth = width; 
     tab.LockedWidth = true; 

     PdfPCell t = new PdfPCell(new Phrase(String.Empty)); 
     t.BackgroundColor = new BaseColor(250, 235, 215); 
     t.FixedHeight = height; 
     t.BorderWidth = 3; 
     tab.AddCell(t); 
     Paragraph pa = new Paragraph(); 
     pa.Add(tab); 

     float h = tab.TotalHeight; 
     PdfTemplate temp = cb.CreateTemplate(tab.TotalWidth, h); 
     tab.WriteSelectedRows(0, -1, 0.0F, h, temp); 
     iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(temp); 
     img.SetAbsolutePosition(30, 30); 
     cb.AddImage(img); 
    } 

如果你想再多一節的頭創建表寬兩行。我希望這有助於。