Need support about aspose pdf

how to create dinamic row table

Hi Ahmad,


Thanks for contacting support.

From your above requirement, my understanding is that you need to create table with certain number of rows which can be provided at run-time Or you have a requirement to create a PDF file with some button or control in resultant PDF file which can be pressed and a table with certain number of rows can be added/placed inside PDF file. Please share some details so we may reply accordingly.

However in case you simply need to create a PDF file with table Working with Tables.

Hy Nayyer


thanks for respond…

table have been created but… i have proble if have many data
table just in first page so not all data rendering

how to render the table data continues to next page

this my code :

pdfReport = new Pdf();
pdfReport.IsLandscape = true;

pdfReport.IsTruetypeFontMapCached = true;
pdfReport.TruetypeFontMapStream = fontMap;

//set ukuran pdf
pdfReport.PageSetup.PageHeight = Aspose.Pdf.Generator.PageSize.A4Height;
pdfReport.PageSetup.PageWidth = Aspose.Pdf.Generator.PageSize.A4Width;

//set margin
pdfReport.PageSetup.Margin.Left = 25;
pdfReport.PageSetup.Margin.Right = 10;

//Create the section in the Pdf object
Section sec1 = pdfReport.Sections.Add();


//set title
Aspose.Pdf.Generator.Table tabTitle = new Aspose.Pdf.Generator.Table();
sec1.Paragraphs.Add(tabTitle);
tabTitle.ColumnWidths = “790”;
tabTitle.PositioningType = PositioningType.ColumnRelative;
Aspose.Pdf.Generator.Row rowTitle = tabTitle.Rows.Add();
rowTitle.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
rowTitle.DefaultCellTextInfo.FontSize = 20;
rowTitle.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;
rowTitle.Cells.Add(“LAPORAN PERJANJIAN”);
//end of set title

//set date
Aspose.Pdf.Generator.Table tabDate = new Aspose.Pdf.Generator.Table();
tabDate.Margin.Top = 50;
sec1.Paragraphs.Add(tabDate);
tabDate.ColumnWidths = “790”;
tabDate.PositioningType = PositioningType.ColumnRelative;
Aspose.Pdf.Generator.Row rowDate = tabDate.Rows.Add();
rowDate.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Right;
rowDate.DefaultCellTextInfo.FontSize = 15;
rowDate.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;
rowDate.Cells.Add(reportDate);
//end of set date


//Instantiate a table object
Aspose.Pdf.Generator.Table tab1 = new Aspose.Pdf.Generator.Table();

//margin table
tab1.Margin.Top = 100;

//Add the table in paragraphs collection of the desired section
sec1.Paragraphs.Add(tab1);

//Set with column widths of the table
tab1.ColumnWidths = “100 100 70 100 100 70 70 100 80”;
tab1.PositioningType = PositioningType.ColumnRelative;

//Set default cell border using BorderInfo object
tab1.DefaultCellBorder = new Aspose.Pdf.Generator.BorderInfo((int)Aspose.Pdf.Generator.BorderSide.All, 1F);

//Set table border using another customized BorderInfo object
tab1.Border = new Aspose.Pdf.Generator.BorderInfo((int)Aspose.Pdf.Generator.BorderSide.All, 1F);


//ini baris judul
Aspose.Pdf.Generator.Row row1 = tab1.Rows.Add();
row1.BackgroundColor = new Aspose.Pdf.Generator.Color("#F538FF");
row1.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
row1.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;

row1.Cells.Add(“Nomor Perjanjian”);
row1.Cells.Add(“Judul Perjanjian”);
row1.Cells.Add(“Jenis”);
row1.Cells.Add(“Tanggal Perjanjian”);
row1.Cells.Add(“Tanggal Penyampaian”);
row1.Cells.Add(“Pihak Ketiga”);
row1.Cells.Add(“Harga”);
row1.Cells.Add(“Jangka Waktu”);
row1.Cells.Add(“Keterangan”);

string jenis;
string tanggalPenyampaianPerjanjian=" - “;
string tanggalPerjanjian=”";
string pihakKetiga=" - “;
string harga=” - “;
string jangkaWaktu=” - “;
string keterangan=”";


for(int i=0; i < 100; i++)
{

jenis = data.JenisDokumen.ToString();
jenis = jenis.Insert(10, " “);
jenis = jenis.Insert(16, " “);

if (data.TanggalKirimRancanganPerjanjian.HasValue)
tanggalPenyampaianPerjanjian = data.TanggalKirimRancanganPerjanjian.Value.ToString(“dd/MM/yyyy”);

if (data.TanggalTerbitRancanganPerjanjian.HasValue)
tanggalPerjanjian = data.TanggalTerbitRancanganPerjanjian.Value.ToString(“dd/MM/yyyy”);


pihakKetiga = data.PerusahaanTerkait;


if (data.BiayaPerjanjian.HasValue)
harga = “Rp. " + data.BiayaPerjanjian.Value.ToString(”#,##0.00”);

if (data.JangkaWaktuPerjanjianAwal.HasValue && data.JangkaWaktuPerjanjianAkhir.HasValue)
jangkaWaktu = ((data.JangkaWaktuPerjanjianAkhir.Value - data.JangkaWaktuPerjanjianAwal.Value).TotalDays).ToString() + " Hari”;

keterangan = data.Keterangan;



Aspose.Pdf.Generator.Row rowTable = tab1.Rows.Add();
rowTable.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
rowTable.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;
rowTable.Cells.Add(“content 1”);
rowTable.Cells.Add(“content 2”);
rowTable.Cells.Add(“content 3”);
rowTable.Cells.Add(“content 4”);
rowTable.Cells.Add(“content 5”);
rowTable.Cells.Add(“content 6”);
rowTable.Cells.Add(“content 7”);
rowTable.Cells.Add(“content 8”);
rowTable.Cells.Add(“content 9”);

}

thanks
Hy Nayyer

thanks for respond...

table have been created but.. i have proble if have many data
table just in first page so not all data rendering

how to render the table data continues to next page

this my code :

pdfReport = new Pdf();
pdfReport.IsLandscape = true;

pdfReport.IsTruetypeFontMapCached = true;
pdfReport.TruetypeFontMapStream = fontMap;

//set ukuran pdf
pdfReport.PageSetup.PageHeight = Aspose.Pdf.Generator.PageSize.A4Height;
pdfReport.PageSetup.PageWidth = Aspose.Pdf.Generator.PageSize.A4Width;

//set margin
pdfReport.PageSetup.Margin.Left = 25;
pdfReport.PageSetup.Margin.Right = 10;

//Create the section in the Pdf object
Section sec1 = pdfReport.Sections.Add();


//set title
Aspose.Pdf.Generator.Table tabTitle = new Aspose.Pdf.Generator.Table();
sec1.Paragraphs.Add(tabTitle);
tabTitle.ColumnWidths = "790";
tabTitle.PositioningType = PositioningType.ColumnRelative;
Aspose.Pdf.Generator.Row rowTitle = tabTitle.Rows.Add();
rowTitle.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
rowTitle.DefaultCellTextInfo.FontSize = 20;
rowTitle.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;
rowTitle.Cells.Add("LAPORAN PERJANJIAN");
//end of set title

//set date
Aspose.Pdf.Generator.Table tabDate = new Aspose.Pdf.Generator.Table();
tabDate.Margin.Top = 50;
sec1.Paragraphs.Add(tabDate);
tabDate.ColumnWidths = "790";
tabDate.PositioningType = PositioningType.ColumnRelative;
Aspose.Pdf.Generator.Row rowDate = tabDate.Rows.Add();
rowDate.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Right;
rowDate.DefaultCellTextInfo.FontSize = 15;
rowDate.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;
rowDate.Cells.Add(reportDate);
//end of set date


//Instantiate a table object
Aspose.Pdf.Generator.Table tab1 = new Aspose.Pdf.Generator.Table();

//margin table
tab1.Margin.Top = 100;

//Add the table in paragraphs collection of the desired section
sec1.Paragraphs.Add(tab1);

//Set with column widths of the table
tab1.ColumnWidths = "100 100 70 100 100 70 70 100 80";
tab1.PositioningType = PositioningType.ColumnRelative;

//Set default cell border using BorderInfo object
tab1.DefaultCellBorder = new Aspose.Pdf.Generator.BorderInfo((int)Aspose.Pdf.Generator.BorderSide.All, 1F);

//Set table border using another customized BorderInfo object
tab1.Border = new Aspose.Pdf.Generator.BorderInfo((int)Aspose.Pdf.Generator.BorderSide.All, 1F);


//ini baris judul
Aspose.Pdf.Generator.Row row1 = tab1.Rows.Add();
row1.BackgroundColor = new Aspose.Pdf.Generator.Color("#F538FF");
row1.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
row1.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;

row1.Cells.Add("Nomor Perjanjian");
row1.Cells.Add("Judul Perjanjian");
row1.Cells.Add("Jenis");
row1.Cells.Add("Tanggal Perjanjian");
row1.Cells.Add("Tanggal Penyampaian");
row1.Cells.Add("Pihak Ketiga");
row1.Cells.Add("Harga");
row1.Cells.Add("Jangka Waktu");
row1.Cells.Add("Keterangan");

for(int i=0; i < 100; i++)
{

Aspose.Pdf.Generator.Row rowTable = tab1.Rows.Add();
rowTable.DefaultCellTextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
rowTable.VerticalAlignment = Aspose.Pdf.Generator.VerticalAlignmentType.Center;
rowTable.Cells.Add("content 1");
rowTable.Cells.Add("content 2");
rowTable.Cells.Add("content 3");
rowTable.Cells.Add("content 4");
rowTable.Cells.Add("content 5");
rowTable.Cells.Add("content 6");
rowTable.Cells.Add("content 7");
rowTable.Cells.Add("content 8");
rowTable.Cells.Add("content 9");

}

thanks

Hi Ahmad,

Thanks for sharing the details.

I have tested the scenario and have observed the same issue. However, for the sake of correction, I would suggest you to please try using the Aspose.Pdf namespace. Please take a look at the following code snippet. You may correct the formatting of the table as per your requirements.

[C#]

Document doc = new Document();
doc.Pages.Add();
doc.Pages[1].PageInfo.IsLandscape = true;

doc.PageInfo.Height = Aspose.Pdf.PageSize.A4.Height;
doc.PageInfo.Width = Aspose.Pdf.PageSize.A4.Width;
doc.PageInfo.Margin.Left = 25;
doc.PageInfo.Margin.Right = 25;

// Create the section in the Pdf object
Aspose.Pdf.Table tabTitle = new Aspose.Pdf.Table();
doc.Pages[1].Paragraphs.Add(tabTitle);
tabTitle.ColumnWidths = "790";
Aspose.Pdf.Row rowTitle = tabTitle.Rows.Add();
rowTitle.Cells.Add("LAPORAN PERJANJIAN");

// Set date
Aspose.Pdf.Table tabDate = new Aspose.Pdf.Table();
tabDate.Margin.Top = 50;
doc.Pages[1].Paragraphs.Add(tabDate);
tabDate.ColumnWidths = "790";
Aspose.Pdf.Row rowDate = tabDate.Rows.Add();
rowDate.Cells.Add("" + DateTime.Now);

// Instantiate a table object
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();
tab1.Margin.Top = 100;
doc.Pages[1].Paragraphs.Add(tab1);
tab1.ColumnWidths = "100 100 70 100 100 70 70 100 80";

tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);
tab1.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);

// First row
Aspose.Pdf.Row row1 = tab1.Rows.Add();
row1.BackgroundColor = Aspose.Pdf.Color.Beige;
row1.Cells.Add("Nomor Perjanjian");
row1.Cells.Add("Judul Perjanjian");
row1.Cells.Add("Jenis");
row1.Cells.Add("Tanggal Perjanjian");
row1.Cells.Add("Tanggal Penyampaian");
row1.Cells.Add("Pihak Ketiga");
row1.Cells.Add("Harga");
row1.Cells.Add("Jangka Waktu");
row1.Cells.Add("Keterangan");

string jenis;
string tanggalPenyampaianPerjanjian = " - ";
string tanggalPerjanjian = "";
string pihakKetiga = " - ";
string harga = " - ";
string jangkaWaktu = " - ";
string keterangan = "";

for (int i = 0; i < 100; i++)
{
    Aspose.Pdf.Row rowTable = tab1.Rows.Add();
    rowTable.Cells.Add("content 1");
    rowTable.Cells.Add("content 2");
    rowTable.Cells.Add("content 3");
    rowTable.Cells.Add("content 4");
    rowTable.Cells.Add("content 5");
    rowTable.Cells.Add("content 6");
    rowTable.Cells.Add("content 7");
    rowTable.Cells.Add("content 8");
    rowTable.Cells.Add("content 9");
}

doc.Save("c:/pdftest/LargeTable_Test.pdf");