C# 背景图片,用iTextSharp覆盖整个pdf

C# 背景图片,用iTextSharp覆盖整个pdf,c#,asp.net,pdf,itextsharp,C#,Asp.net,Pdf,Itextsharp,我有一张图片,我喜欢用它作为我的pdf的背景。 我的pdf是横向的,因此背景图像必须适合我的横向pdf 我该怎么做? 这是我的代码,但图像不显示在景观中:( 请看一看这个例子及其应用 现在让我们看看你的代码并列出所有的错误。 不清楚您期望的页面大小。首先,您使用288 x 144 pt的矩形创建了一个文档。您还定义了页边距。但是,您随后将页面大小更改为旋转的A4页面。由于实际打开文档时,代码片段不显示,因此很难判断页面大小。如果open()在将页面大小更改为A4后调用,它将是A4。如果在更改页

我有一张图片,我喜欢用它作为我的pdf的背景。 我的pdf是横向的,因此背景图像必须适合我的横向pdf

我该怎么做? 这是我的代码,但图像不显示在景观中:(

请看一看这个例子及其应用

现在让我们看看你的代码并列出所有的错误。

  • 不清楚您期望的页面大小。首先,您使用288 x 144 pt的矩形创建了一个文档。您还定义了页边距。但是,您随后将页面大小更改为旋转的A4页面。由于实际打开文档时,代码片段不显示,因此很难判断页面大小。如果
    open()
    在将页面大小更改为A4后调用,它将是A4。如果在更改页面大小之前触发,它将是288 x 144
  • 您可以使用
    ScaleToFit()
    方法调整图像大小。您希望图像适合1500 x 1500磅的正方形。如果图像也是正方形,则图像确实会重新缩放到1500 x 1500磅。但是,如果图像是矩形,则它将小于1500 x 1500磅,因为
    ScaleToFit()
    在尝试将图像拟合到给定尺寸内时保留纵横比。在我的示例中,我使用绝对缩放。当然,这可能会扭曲图像,但同样:您希望图像覆盖整个页面
  • 您正在使用
    image.undernative
    添加图像,但是如果文档中有其他图像,该怎么办?您将如何强制将图像添加到它们下面而不覆盖它们?最安全的方法是将图像作为直接内容添加到常规内容下面的层中
  • 最后,您使用
    0,5
    作为绝对位置。为什么不使用
    0,0
    ?是否要查看页边距?如果是,您如何确保页面每侧的页边距为5磅

如果您以我的Java示例为灵感,一个接一个地修复这些错误,您将能够解决您的问题。

图像显示不正确-您的确切意思是什么,它在哪一方面是错误的?它在Landscape中不是全屏的。您的代码在许多地方都是错误的。(就好像您从未阅读过任何关于iTextSharp的文档。)我给你举个例子,告诉你是怎么做的。给我一两分钟。这个背景图片的最新链接:
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);