在ASP FPDF问题中输出图像

时间:2010-10-01 14:37:43

标签: asp-classic fpdf

您好 我正在尝试使用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,但使用Adobe Reader时,我会收到“文件不以%pdf开头”消息。我尝试过使用其他类似结果的读者。

如果我删除图像行并输出一些文字(例如pdf.Cell 40,5,“Date”,0,1,“R”),一切都很完美。

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

谢谢。

6 个答案:

答案 0 :(得分:2)

试试这个

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

此处140是x位置,22是y位置50是宽度,40是高度。

答案 1 :(得分:1)

我不知道AspFPdf,但是你不需要指定一个可以找到图像的文件夹吗? 你试过吗?

pdf.Image "fpdf/invoiceheader.jpg"

正如我所说的,我不知道这个组件,只是我的想法(尽管你自己已经试过了)。

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

file 
Path or URL of the image. 

Asp fPdf : Image parameter

无论如何:谢谢你指点我这个组件的方向(即使这不是你的意图)。我也可以使用它; - )

答案 2 :(得分: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));

因为它在我的图片中找错了文件夹。

答案 3 :(得分:0)

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

我不完全理解为什么,但这可能会帮助别人...

答案 4 :(得分:0)

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

pdf.Image“./ byimage.jpg”,x,y,width

答案 5 :(得分:0)

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

pdf.Image“fpdf / header.jpg”,10,10,80,20,“jpg”

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

pdf.image“folder / image.type”,x坐标,y坐标,img宽度,img高度,“图像类型”

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