document没有页面itextsharp
问题描述:
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Purchase Order " + po_id_label.Text + ".pdf";
Document d = new Document();
FileStream fs = File.Create(path);
PdfWriter.GetInstance(d, fs);
d.Open();
Paragraph p = new Paragraph("Supplier Name " + Supplier_name_Combobox.Text + " \t " +
"\t Purchase Order Id " + po_id_label.Text + "\n" +
"Date : " + today_date_label.Text + "\t " + "Due Date : " + due_date_dtpicker.Value.ToShortDateString() + "\n" + "\n ");
PdfPTable pdfTable = new PdfPTable(purchase_order_datagrid.ColumnCount);
pdfTable.DefaultCell.Padding = 3;
pdfTable.WidthPercentage = 30;
pdfTable.HorizontalAlignment = Element.ALIGN_LEFT;
pdfTable.DefaultCell.BorderWidth = 1;
for (int k = 0; k < 5; k++)
{
pdfTable.AddCell(new Phrase(purchase_order_datagrid.Columns[k].HeaderText));
}
pdfTable.HeaderRows = 1;
foreach (DataGridViewRow row in purchase_order_datagrid.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
if (cell.Value != null)
if (cell.Value.ToString().Equals("Delete Row") == false)
{
MessageBox.Show(cell.Value.ToString());
pdfTable.AddCell(cell.Value.ToString());
}
}
}
答
嗯 - 我看你做了
d.Open();
但在此之下,你不会添加你创建的任何文件'd'..
我的意思是,我希望
but below this, you don't 'add' anything you create to Document 'd'..
what I mean is, I'd expect
d.Add(p); // first paragraph
//
// PdfTable Build in here ....
//
d.Add(pdfTable); // after you've built the pdfTable
//(More 'adds' here as required)
d.Close();
fs.Close();