私は自分のサーバーにアップロードされた個々のpdfのFileStreamを使用して構築された結合されたpdfにページ番号を追加しようとしています。私はMSSQLサーバーからpdfファイル名のリストを読んで、ページをマージします。ITextSharp合併するページ番号を追加
ほとんどの場合、私はpdfstamperを使うべきですが、ほとんどの例は私の特定のコードには関係しません。
try
{
rdr = cmd2.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(rdr);
List<PdfReader> readerList = new List<PdfReader>();
foreach (DataRow row in dt.Rows)
{
PdfReader pdfReader = new PdfReader("http://site.azurewebsites.net/uploads/reports/" +
Convert.ToString(row[0]));
readerList.Add(pdfReader);
}
con2.Close();
System.Net.Mime.ContentType contentType = new System.Net.Mime.ContentType();
contentType.MediaType = System.Net.Mime.MediaTypeNames.Application.Pdf;
Document document = new Document(PageSize.A4, 0, 0, 0, 0);
//Get instance response output stream to write output file.
PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream);
document.Open();
foreach (PdfReader reader in readerList)
{
for (int i = 1; i <= reader.NumberOfPages; i++)
{
PdfImportedPage page = writer.GetImportedPage(reader, i);
document.Add(iTextSharp.text.Image.GetInstance(page));
}
}
document.Close();
Response.AppendHeader("content-disposition", "inline; filename=" + Request.QueryString["id"] + "-Final");
Response.ContentType = "application/pdf";
}
}
catch
{
Response.Redirect("~/login.aspx", false);
}
}
private void MergePDFs(string outPutFilePath, params string[] filesPath)
{
List<PdfReader> readerList = new List<PdfReader>();
foreach (string filePath in filesPath)
{
PdfReader pdfReader = new PdfReader(filePath);
readerList.Add(pdfReader);
}
//Define a new output document and its size, type
Document document = new Document(PageSize.A4, 0, 0, 0, 0);
//Create blank output pdf file and get the stream to write on it.
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outPutFilePath, FileMode.Create));
document.Open();
foreach (PdfReader reader in readerList)
{
for (int i = 1; i <= reader.NumberOfPages; i++)
{
PdfImportedPage page = writer.GetImportedPage(reader, i);
document.Add(iTextSharp.text.Image.GetInstance(page));
}
}
document.Close();
}
ありがとうございます!
あなたの質問や問題は何ですか?ここには明確な質問はありません。 – Mikanikal
"ページ1/5"のように、pdfページ番号を各マージされたpdfファイルに追加しようとしています。私はこのhttp://developers.itextpdf.com/examples/columntext-examples/adding-page-numbers-existing-pdfのような例を見つけましたが、私のコードにpdfstamperを組み込むのに苦労しています。 –