2010-06-10 25 views
0

这是我用来在标题中显示图像的代码。我的问题是我想用一个变量的形象,当我把变量名称,而不是像名字我得到一个错误:asp fpdf尝试输出分配给变量的图像

微软JScript运行时错误“800A138F”

“未定义”是空或不是对象

/EKtestdb/fpdf/fpdf/includes/Basics.asp,线121

this.Header=function Header() 
    { 
    this.SetY (10) 
    this.SetFont ("Times","",10) 
    //this.Cell (45,5, "HEADER", 0, 0, "L") 
    this.SetFont ("Times","b",14) 
    //this.Cell (190,5, this.title, 0, 0, "C") 
    this.Cell (190,20, this.title, 0, 0) 
    this.SetFont ("Times","",10) 
    this.Image('logoSM1.jpg',165,3,33) 
    this.Image(techpic ,165,3,33) 

这是basics.asp行代码121:

this.strrpos=function strrpos(s,ch){ 
res = s.lastIndexOf(ch) 
if (res>0-1){return res}else{return false} 
} 
this.strpos=function strpos(s,ch,start){ 
if (arguments.length<3){start=0} 
res = s.indexOf(ch,start); 
if (res>-1){return res}else{return false} 
} 

,如果你只是想显示图像此行应该工作:

this.Image('logoSM1.jpg',165,3,33) 

但使用变量而不是图像名称可以有人帮助呢?

回答

0

我正在更新我的答案,因为我没有意识到您正在使用JScript和VBscript。您不需要添加<%=%>,因为您的代码已经在Jscript端的< %%>中。

我不确定为什么你会遇到这个问题,但是看看你添加的代码,我没有看到LoadModels(),如果你使用的是vbscript页面,那么fpdf的文档就会说你需要它。

http://www.aspxnet.it/public/Default.asp?page=174&idp=62

而且我不知道,如果它很重要,但也许你可以添加一个打开和关闭单引号:

this.Image("'" + techpic + "'" ,165,3,33); 

我也注意到,没有代码的this.Header=function Header()下含有分号之后,这是JSCript所需的。

+0

我无法得到它的工作 是变量是一个ASP的变量,我想上面的代码,它不会工作,它给我的留言: FPDF错误:图像文件没有扩展名并没有指定类型: 这里是ASP代码的样本,请让我知道如果你需要查看更多: 组PDF = CreateJsObject( “FPDF”) pdf.CreatePDF() pdf.SetPath( “FPDF /”) '------ pdf.SetFont“Arial”,“”,16 pdf.Open() pdf.AddPage() 昏暗techpic techpic = “logoSM1.jpg” 如果(objRS.EOF)然后 其他 \t做,直到objRS.EOF =真 \t为employeeno = objRS( “为employeeno”) – bluffo 2010-06-10 19:11:26

+0

@bluffo我更新回答,因为我以为你是混合JavaScript和VBScript,但它实际上是JScript,所以你不需要<%=%>。 – 2010-06-10 19:41:28

+0

我注意到有没有分号以及我添加它们,没有它的图像加载速度更快,但我仍然无法让图像工作,这次的错误信息是不同的: FPDF错误:图像文件没有扩展名,没有类型被指定为:'undefined' 如果您需要感谢帮助,我可以发布更多的代码示例,我试图在另一个论坛上发布此问题,他们说Im使用错误的论坛。 微软JScript运行时错误“800A138F” “未定义”为空或不是对象 /EKtestdb/fpdf/fpdf/includes/Basics.asp,线121 – bluffo 2010-06-10 20:42:28

0

我遇到的问题是与变量声明我不知道为什么,但我不得不声明在pdf.asp文件的第一部分中的变量输出头中的变量。对于在页脚ouputting这种情况并非如此,我仍然不确定为什么这里是fpdf.asp代码示例:

this.Header=function Header() 
     { 
     this.SetY (10); 
     this.SetFont ("Times","b",14); 
     this.Cell (190,20, this.title, 0, 0); 
     this.SetFont ("Times","",10); 
     //this.Image('logoSM1.jpg',165,3,33); 
     this.Image(techpic2 ,165,3,33); 
     } 
    this.Footer=function Footer() 
     { 
     this.SetY (-15) 
     this.SetFont ("Times","i",10) 
     this.Cell (190, 5, "", 0, 1) 
     this.Cell (190, 0, "", 1, 1) 
     this.Cell (45, 5, EmployeeName + " - " + EmployeeNo, 0, 0, "L") 
     this.Cell (100, 5, this.PageNo() + "/{nb}", 0, 0, "C") 
     this.Cell (45, 5, "", 0, 0, "R")    
     } 

在页脚上面的代码将检索EmployeeName的价值和输出正常,但在标题中techpic2的值不会被检索。在上述techpic2图像被成功此处显示的线是pdf.asp代码示例:

strSQL = "SELECT * FROM employee_course_vendortraining_view " 

objRS.Open strSQL, objConn 

%> 

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

<% 

Set pdf=CreateJsObject("FPDF") 

pdf.CreatePDF() 

pdf.SetPath("fpdf/") 

'------pdf.SetFont "Arial","",16 

pdf.Open() 

pdf.AddPage() 


if (objRS.EOF) then 

else 

    Do Until objRS.EOF = True 

    EmployeeNo = objRS("EmployeeNo") 
    EmployeeName = objRS("EmployeeName") 
    techpic2 = objRS("techpic2") 

这里所有的变量来自记录赋值为这个正在从页脚ouputting但不会为标题工作。但是,一旦我声明,并在例子将输出正确设置标题下方的变量:

strSQL = "SELECT * FROM employee_course_vendortraining_view " 

    objRS.Open strSQL, objConn 
Dim EmployeeName 
    EmployeeName = objRS("EmployeeName") 
Dim techpic2 
    techpic2 = objRS("techpic2") 
    %> 

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

    <% 

    Set pdf=CreateJsObject("FPDF") 

    pdf.CreatePDF() 

    pdf.SetPath("fpdf/") 

为什么页脚可以读取变量,但不是我现在还不能确定头部为什么,但如果其他人也许是有问题这将有所帮助。