使用iTextSharp,我想获得示例或帮助,以便在VB Express 2010中使用VB.net(Windows窗体)为现有PDF文档的每个页面编号。
答案 0 :(得分:2)
由于OP表明c#示例也足够了:
Webified iTextSharp Example TwoPasses.cs中的第二次传递(在评论"第二次通过,添加标题"之后)添加 Page x 每个文档页面的 y (以及标题 FOOBAR FILMFESTIVAL )标题。
关键代码:
PdfReader reader = new PdfReader(SOURCE_PDF);
using (MemoryStream ms2 = new MemoryStream()) {
// Create a stamper
using (PdfStamper stamper = new PdfStamper(reader, ms2)) {
// Loop over the pages and add a header to each page
int n = reader.NumberOfPages;
for (int i = 1; i <= n; i++) {
GetHeaderTable(i, n).WriteSelectedRows(
0, -1, 34, 803, stamper.GetOverContent(i)
);
}
}
// retrieve the result PDF in ms2.ToArray()
}
使用辅助方法GetHeaderTable
汇总页面的标题文本:
public static PdfPTable GetHeaderTable(int x, int y) {
PdfPTable table = new PdfPTable(2);
table.TotalWidth = 527;
table.LockedWidth = true;
table.DefaultCell.FixedHeight = 20;
table.DefaultCell.Border = Rectangle.BOTTOM_BORDER;
table.AddCell("FOOBAR FILMFESTIVAL");
table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
table.AddCell(string.Format("Page {0} of {1}", x, y));
return table;
}