2010-06-10 5 views
0

это код, который я использовал для отображения изображения в заголовке. проблема у меня есть, я хочу использовать переменную для изображения, когда я поставил имя переменной вместо имени изображения я получаю сообщение об ошибке:asp fpdf пытается передать изображение, присвоенное переменной

Microsoft 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(), который документация для fpdf говорит вам, если вы используете страницу vbscript.

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

Кроме того, я не уверен, если это имеет значение, но, может быть, вы можете добавить открытие и закрытие одинарные кавычки:

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

Я также заметил, что ни один из кода под this.Header=function Header() содержит точку с запятой после них, что требуется для компании «Арипт».

+0

я не мог заставить его работать да переменная переменная ASP, я попробовал код, указанный выше, и это не будет работать, он дал мне сообщение: FPDF ошибка: файл изображения не имеет расширения и не был указан тип : вот пример кода осины, пожалуйста, дайте мне знать, если вам нужно, чтобы увидеть больше: Set Pdf = CreateJsObject ("FPDF") pdf.CreatePDF() pdf.SetPath ("FPDF /") '------ pdf.SetFont "Arial", "", 16 pdf.Open() pdf.AddPage() Dim techpic techpic = "logoSM1.jpg" если (objRS.EOF), то еще \t ли До objRS.EOF = True \t EmployeeNo = objRS ("EmployeeNo") – bluffo

+0

@bluffo Я обновил мой ответ, потому что я думал, что вы смешиваете javascript и vbscript, но на самом деле это JScript, поэтому вам не нужен <%=%>. –

+0

Я заметил, что нет точек с запятой, и я добавил их, и без изображения он загружается быстрее, но я все еще не мог заставить изображение работать на этот раз. Msg различно: Ошибка FPDF: файл изображения не имеет расширения и никакого типа было указано: «undefined» Я могу опубликовать больше образцов кода, если вам нужно спасибо за помощь. Я попытался опубликовать этот вопрос на другом форуме, и они сказали, что я использую неправильный форум. Microsoft JScript ошибка выполнения «800a138f» «не определено» равно нулю или не является объектом /EKtestdb/fpdf/fpdf/includes/Basics.asp, линия 121 – bluffo

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/") 

Почему сноска может прочитать переменную, но не заголовок я до сих пор не знаю, почему, но если кто-то есть проблемы, может быть, это поможет.

Смежные вопросы