我遇到了一个关于如何获得宽度和高度的问题 pdf文件。代码段如下:
class Program
{
static void Main(string[] args)
{
Stream inputPdfStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
Stream outputPdfStream = new FileStream(fileOutPath, FileMode.Create, FileAccess.Write, FileShare.None);
Stream inputImageStream = new FileStream("some_image.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
PdfReader reader = new PdfReader(inputPdfStream);
var stamper = new PdfStamper(reader, outputPdfStream);
var pdfContentByte = stamper.GetOverContent(1); //stamper.GetOverContent(pageNum)
Image image = Image.GetInstance(inputImageStream);
image.SetAbsolutePosition(100, 100);
pdfContentByte.AddImage(image);
stamper.Close();
}
}
我尝试在我想要的pdf上创建水印,但我需要的是 如何获得原始pdf的正确宽度和高度 让我可以将图像设置在正确的位置。 是否可以通过pdfContentByte来实现,或者有一些 其他方式来做到这一点。非常感谢。
答案 0 :(得分:2)
是否可以通过pdfContentByte
来实现
没有。 PdfContenByte
实例表示一个非常大的画布,其中一部分最终显示为页面(或表单XObject或注释或...)。
您可以使用PdfReader
方法GetCropBox
检索该部分的位置和大小,并提供相关的页码作为参数。