我有一张图片,我喜欢用我的pdf作为背景。 我的pdf在LANDSCAPE中,因此背景图片必须符合我的风景pdf。
我该怎么做? 这是我的代码,但图像并没有在横向上显示:(
string imageFilePath = Server.MapPath(".") + "/images/test.jpg";
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageFilePath);
Document pdfDucment = new Document(new Rectangle(288f, 144f), 10, 10, 10, 10);
pdfDucment.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
jpg.ScaleToFit(1500, 1500);
jpg.Alignment = iTextSharp.text.Image.UNDERLYING;
jpg.SetAbsolutePosition(0,5);
答案 0 :(得分:0)
请查看BackgroundImage示例及其resulting pdf。
现在让我们来看看您的代码并列出所有错误。
Open()
,则它将为A4。如果在更改页面大小之前触发它,它将是288乘144。ScaleToFit()
方法调整图像大小。您希望图像适合1500 x 1500 pt的正方形。如果您的图像也是正方形,则图像确实将重新缩放为1500 x 1500 pt。但是,如果图像是矩形,则它将小于1500乘1500,因为ScaleToFit()
在尝试使图像适合给定尺寸时保留纵横比。在我的例子中,我使用绝对缩放。当然,这可能会扭曲您的图像,但是又一次:您希望图像覆盖整个页面。Image.UNDERLYING
添加图片,但如果您的文档中还有其他图片,该怎么办?你将如何强制将图像添加到它们下面而不是覆盖它们?最安全的方法是将图像作为直接内容添加到常规内容下的图层中。0, 5
作为绝对位置。为什么不0, 0
?你想看到保证金吗?如果是这样,你怎么能确保页面两边的边距是5磅?如果您逐个修复这些错误,使用我的Java示例作为灵感,您将能够解决您的问题。