2012-06-12 2 views
1

Я хочу создать файл PDF с открытой картой Icard.напечатайте icard в pdf с помощью itextsharp

Ниже приведен код:

iTextSharp.text.Font custFont = new iTextSharp.text.Font() { Size=6f}; 
int borderSize = 1; 
Document IcardDoc = new Document(PageSize.HALFLETTER); 
PdfWriter.GetInstance(IcardDoc, Response.OutputStream); 
IcardDoc.Open(); 

PdfPTable icardTable = new PdfPTable(2); 
iTextSharp.text.Image logoImage = iTextSharp.text.Image.GetInstance(Server.MapPath("~/images/logo.jpg")); 
logoImage.WidthPercentage = 15f; 
PdfPCell cell = new PdfPCell(logoImage, false); 
cell.PaddingLeft = 10f; 
cell.PaddingTop = 10f; 
cell.PaddingBottom = 10f; 
cell.PaddingRight = 10f; 
cell.Colspan = 2; 
cell.Border = 0; 
cell.HorizontalAlignment = 1; 
icardTable.AddCell(cell); 
icardTable.AddCell(new PdfPCell(new Phrase("Name:", custFont)) { Border = borderSize }); 
icardTable.AddCell(new PdfPCell(new Phrase(student.firstname + " " + student.lastname, custFont)) { Border = borderSize }); 

Печатный размер документа будет 8,5 см в высоту и 5,4 см в ширину.

Так что нужно подогнать его таким образом, есть ли какое-либо решение этого, потому что приведенный выше код не подходит для таблицы на странице и в правильном размере?

Любой другой формат также будет делать, как слова и т.д.

ответ

1

выяснял решение:

Document IcardDoc = new Document(new Retangele(200f, 315f),35f,35f,0f,0f); 

и отрегулировать ширину таблицы соответственно:

PdfPTable icardTable = new PdfPTable(2); 
icardTable.WidthPercentage = 140f; 

, чтобы соответствовать таблице точно на странице, если уменьшить прямоугольник width, то увеличьте таблицу WidthPercentage и наоборот. Вы также должны заботиться о левом и правом краях, определяемых как 35f в Document класс конструктор

Это сработало для меня.

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