我正在使用 PDFsharp 库创建 PDF 文档。我可以在多个页面上创建页眉和页脚,但是我的页眉和页脚与我的主要内容重叠。
这是基本的代码结构:
public static MemoryStream DrawHeaderFooter(MemoryStream ms){
using (PdfDocument document = PdfReader.Open(ms, PdfDocumentOpenMode.Modify))
{
for(int pageNum=0;pageNum<=document.Pages.Count;pageNum++)
{
//header footer logic
}
ms.Position=40;
document.Save(ms,false);
}
return ms;
}
我想将页面上的 MemoryStream 位置垂直移动 40 个单位,但是
ms.Position=40
不起作用。我的主要内容是表格的形式,我也想通过偏移 40 个单位来减少表格的长度。
在 PDFsharp 中是否可以实现相同的效果?如果是的话,谁能解释一下这怎么可能?
您可以创建一个新的 PDF,在该 PDF 中创建一个新页面,在新页面的任意位置绘制现有的 PDF 页面,最终在绘制时更改其大小。
对 PDF 中的任何页面执行此操作。 然后以您想要的任何名称保存新 PDF 或将其保存在 MemoryStream 中。