0
在使用PDFWriter生成PDF文檔時,如何在數據表之間包含空格?轉換爲pdf時數據表之間的空間
此相關的代碼片段:
public void ExportToPdf(DataTable dt)
{
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("E://sample2.pdf", FileMode.Create));
document.Open();
iTextSharp.text.Font font5 = iTextSharp.text.FontFactory.GetFont(FontFactory.HELVETICA, 5);
int col = dt.Columns.Count;
int row1 = dt.Rows.Count;
int newcol;
if (col > Convert.ToInt16(txt_columns.Text))
{
newcol = Convert.ToInt16(txt_columns.Text);
}
else
{
newcol = col;
}
int k=0, prev=0, dummy=0;
dummy = newcol;
for (int num_table = 1, temp = 0; num_table <= ((col/dummy) + 1); num_table++, temp++)
{
if (newcol > 0)
{
PdfPTable table = new PdfPTable(newcol);
PdfPRow row = null;
float[] widths = new float[newcol];
for (int i = 0; i < newcol; i++)
{
widths[i] = 4f;
}
table.SetWidths(widths);
table.WidthPercentage = 100;
int iCol = 0;
string colname = "";
PdfPCell cell = new PdfPCell(new Phrase("Products"));
cell.Colspan = newcol;
int j = 1;
foreach (DataColumn c in dt.Columns)
{
if (j > temp * dummy && j <= num_table * dummy)
{
table.AddCell(new Phrase(c.ColumnName, font5));
}
j++;
}
foreach (DataRow r in dt.Rows)
{
if (dt.Rows.Count > 0)
{
for (k=prev; k < ((num_table * dummy > col) ? col : (num_table * dummy)); k++)
{
table.AddCell(new Phrase(r[k].ToString(), font5));
}
}
}
prev = k;
if (newcol > (col - (num_table * newcol)))
{
newcol = (col - (num_table * newcol));
}
document.Add(table);
}
// need code for gap here
}
document.Close();
}
需要在最後的空間。海報可能使用開源iText庫來生成PDF文檔。
謝謝!
謝謝。我需要另一個幫助如何在pdf中更改列和行的背景和字體顏色 – Kireet
這是在這裏解釋的:http://stackoverflow.com/questions/24434731/dynamic-pdf-row-mockup另外: StackOverflow政策告訴你發佈一個新的問題是你有一個新的問題(似乎是合乎邏輯的,不是嗎?)。不要對其他問題使用評論。 –