2

您好我正在尝试使用 ASPFPDF 类使用以下非常简单的代码在 pdf 上输出图像:

<!--#include file="fpdf.asp"-->
<%
 Dim pages

 Dim pdf
 Set pdf=CreateJsObject("FPDF")

 pdf.CreatePDF "P", "mm", "A4"

 pdf.SetPath "fpdf/"

 pdf.Open()
 pdf.AddPage("P")

 pdf.Image "invoiceheader.jpg"
 pdf.Output ()
%>

运行时,此脚本应打开 pdf,但使用 Adob​​e Reader 我收到“文件不以 %pdf 开头”消息。我尝试过使用其他具有类似结果的阅读器。

如果我删除图像行并输出一些文本(例如 pdf.Cell 40,5,"Date",0,1,"R"),一切正常。

在我发疯之前,任何人都有任何想法!

谢谢你。

4

6 回答 6

2

试试这个

pdf.Image "IMAGES/invoiceheader.jpg", 140, 22, 50, 40

这里140是x位置,22y位置50是宽度,40是高度。

于 2012-05-28T04:38:07.757 回答
1

我不知道 AspFpdf,但您不需要指定要找到图像的文件夹吗?你试过了吗 ?

pdf.Image "fpdf/invoiceheader.jpg"

正如我所说,我不知道组件,只是我的想法(尽管您自己可能已经尝试过)。

[编辑] 查看 Asp Fpdf 的网站并在文档中看到以下内容:

file 
Path or URL of the image. 

Asp fPdf : 图像参数

无论如何:感谢您为我指明该组件的方向(即使这不是您的意图)。我也可以用这个;-)

于 2010-10-03T05:41:16.660 回答
1

只是想我会更新人们,因为我已经花了很长时间并且终于得到了这个工作。由于随机错误消息,您看不到的是 FPDF 应用程序在构建它时会创建一个临时 PDF。默认情况下,它将在与运行它的 asp 页面相同的文件夹中创建它。例如,我的页面在我的网络根目录中\createpdf.asp

我发现它正在尝试在我的网络根目录中创建一个名为D10456.tmp(每次更改名称)的文件,但由于安全原因它不能。

我添加了一个输出文件名并更改了另一个文件夹中的安全性以允许写访问,并且它第一次工作。

输出文件代码:

  pdf.Output server.mappath("pdfs\list.pdf"),"F"    

PDFS 文件夹必须具有写入权限才能工作。希望对人们有所帮助。Paul 的回答对于在 ASP 中添加图像的格式也是正确的。另外,我必须更改images.asp位于包含目录中的文件。我不得不换行:

this.Buffer.LoadFromFile(Server.MapPath("\\") + ("\\") + ("Images") + ("\\") + pFileName);

this.Buffer.LoadFromFile(Server.MapPath(pFileName));

因为它在错误的文件夹中查找我的图像。

于 2011-12-03T10:08:19.463 回答
0

上述问题的答案是 FPDF 似乎需要在一个完全合格的域上——我在一台机器上运行,使用自定义主机文件将 URL 指向开发服务器。我将代码移到实时服务器后,一切正常!

我不完全明白为什么,但这可能对其他人有帮助......

于 2010-10-07T08:58:51.370 回答
0

我发现我可以添加图像的唯一方法如下:-

pdf.Image "./byimage.jpg",x,y,width

于 2011-04-12T15:00:08.880 回答
0

这就是我设法在 ASP 经典页面中显示我的图像的方式:

pdf.Image "fpdf/header.jpg", 10, 10,80,20, "jpg"

如果没有错误,这就是定义变量的方法(如果我错了,请纠正我):

pdf.image "文件夹/image.type", x 坐标, y 坐标, img 宽度, img 高度, "图像类型"

希望能帮助到你。因为我花了很多天才找到如何在我的 asp 经典页面中显示图像..

于 2015-04-13T03:49:59.693 回答