我想将几个单独的pdf页面组合成一个pdf,同时将一个数字放在FIRST页面的顶部。某种水印,但顶部对齐,左边。
任何人都知道如何解决这个问题?
现在我得到以下代码来合并文件:
Console.WriteLine("Merging started.....");
PdfDocument outputPDFDocument = new PdfDocument();
foreach (string pdfFile in pdfFiles)
{
PdfDocument inputPDFDocument = PdfReader.Open(pdfFile, PdfDocumentOpenMode.Import);
outputPDFDocument.Version = inputPDFDocument.Version;
foreach (PdfPage page in inputPDFDocument.Pages)
{
outputPDFDocument.AddPage(page);
}
}
outputPDFDocument.Save(outputFilePath);
Console.WriteLine("Merging Completed");
addOverlay(outputPDFDocument);
编辑: 我通过在保存后打开合并文档然后添加文本来使其工作。
public static void addOverlay(PdfDocument combined_pdf)
{
PdfDocument document = combined_pdf;
// Select the first page
PdfPage page = document.Pages[0];
page.Orientation = PageOrientation.Portrait;
XGraphics gfx = XGraphics.FromPdfPage(page, XPageDirection.Downwards);
// Write on top of background with known colors
gfx.DrawString("TEXT ON PDF PAGE", new XFont("Helvetica", 12, XFontStyle.Regular), XBrushes.White, 10, 0, XStringFormats.TopLeft);
// Save the new modified document...
document.Save("final_path");
}
答案 0 :(得分:1)
我不确定最佳方式,但我知道两种方法肯定会有效:
方法2保持页面不变。使用方法1,您必须注意源文件中的不同页面大小 - 但您也有机会将所有页面缩放为单一格式(例如DIN A4),这可能比具有多个不同页面的文件更加用户友好格式。