データが入ったpdfファイルがあります。今、私はこの既存のpdfファイルを使用して、そこにテーブルを挿入したいと思います。次に、既存のpdfファイルが以前と同じままになるように、別のファイル名でファイルを保存します。既存のpdfファイルに書き込んで、新しいファイルとしてitextsharpを使用して保存します。
注:既存のpdfファイルは、iTextSharpを使用して作成されていません。ランダムにダウンロードされました。私はテンプレートのような既存のPDFファイルを使用する必要があります。
public void Main(List<string> jobpath)
{
string oldpath = @"C:\Files\sample_new.pdf";
string newpath = @"C:\Files\sample_new_1.pdf";
PdfReader reader = new PdfReader(oldpath);
Rectangle size = reader.GetPageSizeWithRotation(1);
Document doc = new Document(size);
FileStream fs = new FileStream(newpath, FileMode.Create, FileAccess.Write);
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
doc.Open();
foreach (var list in jobpath)
{
cb.BeginText();
doc.NewPage();
doc.Open();
PdfPTable table = new PdfPTable(1);
table.HorizontalAlignment = Element.ALIGN_CENTER;
table.TotalWidth = 400f;
float[] widths = new float[] { 2f };
table.SetWidths(widths);
table.SpacingBefore = 40f;
table.SpacingAfter = 30f;
PdfPCell cell = new PdfPCell();
cell.Colspan = 3;
cell.HorizontalAlignment = 1;
table.AddCell(list);
doc.Add(table);
PdfImportedPage page = writer.GetImportedPage(reader, 1);
}
doc.Close();
}
上記のコードでは、テーブルを追加できますが、古いファイルの内容は新しいファイルにコピーされません。
何を試しましたか?コードを私たちと共有してください。 – Ben
@Benコードを共有しました – Ksingh