繁体   English   中英

如何通过pdfContentByte获取页面宽度和高度

[英]How to get page width and height via pdfContentByte

我遇到有关如何获取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做到这一点,或者有其他方法可以做到这一点。 非常感谢。

是否有可能通过pdfContentByte实现

PdfContenByte实例代表一个非常大的画布,只有一部分画布最终显示为页面(或以XObject或批注或...的形式)。

您可以使用PdfReader方法GetCropBox检索该部分的位置和大小, GetCropBox提供有问题的页码作为参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM