ストリームにpdfを生成する次のコードがあります。これはうまくいくが、私は今、以下の要件を持っている。ページ番号を追加し、itextでストリームに風景A4を作成する
1)make page landscape:他の例を見ると、プロパティをドキュメントオブジェクトに追加します。しかし、私はこのインストリームをやっています。だから私はこのプロパティをどのように追加しますか?
2)ページ番号を追加してください。ページあたりの行数がxになるようにアイテムをグリッドに配置する必要があります。ページのフッターにページ番号が表示されます。この種の機能は、どのようにしてItext sharpで習得できますか?
public static void Create(ICollection<Part> parts, string path)
{
PdfReader reader = new PdfReader(path);
var pageWidth = 500;
byte[] bytes;
using (MemoryStream ms = new MemoryStream())
{
using (PdfStamper stamper = new PdfStamper(reader, ms))
{
PdfContentByte cb = stamper.GetOverContent(1);
//Flush the PdfStamper's buffer
stamper.Close();
//Get the raw bytes of the PDF
bytes = ms.ToArray();
var now = String.Format("{0:d-M-yyyy}", DateTime.Now);
var pdfName = string.Format("{0}_factory_worksheet", now).Replace("%", "").Replace(" ", "_");
var context = HttpContext.Current;
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("content-disposition", "attachment;filename=" + pdfName);
context.Response.Buffer = true;
context.Response.Clear();
context.Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
context.Response.OutputStream.Flush();
context.Response.End();
}
}
}
PDFを最初から生成していないので、実際には既存のものから部品を取っていますよね? –