2016-07-02 4 views
0

Я учитель, работающий над проектом, который я начал прошлым летом. Теперь я пытаюсь преобразовать форму, которую я создал в HTML в PDF. В конце концов, я хотел бы, чтобы этот PDF-файл хранился в базе данных mySQL и печатался на выделенный принтер в нашей сети.Проблемы с преобразованием HTML в PDF с помощью jspdf

Проблема, с которой я сталкиваюсь, заключается в том, что ничего не происходит. Страница не изменяется в формате PDF. Я просмотрел несколько примеров этого процесса, и, похоже, код ничего не делает.

Вот мой HTML, содержащий форму

-------------------------- Begin HTML ------- -------------------------------

<!DOCTYPE html> 
<html> 
<?php 
    $img_1 = 'new_checkbox_empty.gif'; 
?> 
<head> 
<title>OUSD URF</title> 
</head> 

<body> 
<div id="urfForm"> 
<center> 
<table border="1" width="100%"> 
    <table width="100%"> 
    <tr> 
     <td><IMG SRC="OUSD_URF_Logo.jpg"></td> 
     <td>Universal Office Discipline Referral Form</td> 
    </tr> 
    </table> 
    <table width="100%"> 
    <tr> 
     <td>Student________________________</td> 
     <td>Grade______</td> 
     <td>Referring Staff___________________________</td> 
     <td>Date_________</td> 
     <td>Time_________</td> 
    </tr> 
    </table> 
    <HR width="100%"> 
    <table border="1" width="100%"> 
    <thead>Pre-referral Interventions (For Minor Behaviors). Before making an office Referral, please complete at least 3 pre-referral interventions.<br>Minor Behaviors may include: Disrespect/non-compliance, Dress code Violation, Electronic Device, Horseplay, Inappropriate language, Inappropriate physical contact, Misuse/destruction of property, Tardy</thead> 
    <tr> 
     <td width="33%"><IMG SRC="<?php echo $img_1?>" style="margin: 0px 5px" style="margin: 0px 5px">5-1 Positive Reinforcement</td> 
     <td width="33%"><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px" style="margin: 0px 5px">Parent Consultation</td> 
     <td width="33%"><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px" style="margin: 0px 5px">Restorative Conversation</td> 
    </tr> 
    <tr> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Buddy Room (15 Minutes Max)</td> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Problem Solving Conference</td> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Reviewed IEP/504</td> 
    </tr> 
    <tr> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Behavior Contract</td> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Prompting Desired Behavior</td> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Re-teaching Desired Behavior</td> 
    </tr> 
    <tr> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Conflict Mediation</td> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Proximity or Seat change</td> 
     <td><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Reviewed IEP/504</td> 
    </tr> 
    <tr> 
     <td colspan="2"><IMG SRC="new_checkbox_empty.gif" style="margin: 0px 5px">Explicitly taught & Rehearsed Rules & Expectations</td> 
    </tr> 
    </table> 
</table> 
</center> 
</div> 
<br><br> 


<a href="javascript:urf2PDF()">Submit Form</a> 
<hr /> 

<script src="jsPDF/jspdf.js"></script> 
<script src="jsPDF/jquery.js"></script> 
<script src="jsPDF/test.js"></script> 

</body> 

</html> 

------------ ------------- Конец HTML ----------------------------------- -----

И вот мой JS

----------------------------- Начало JS- -----------------------------------

function urf2PDF() { 
var doc = new jsPDF('p', 'pt', 'letter'); 
source = $('#urfForm') [0]; 
var specialElementHandlers = { 
    '#bypassme': function(element, renderer){ 
     return true 
    } 
}; 

margins = { 
    top: 40, 
    left: 50, 
    width: 545 
}; 

pdf.fromHTML(
    source 
    , margins.left 
    , margins.top 
    , { 
     'width" : margins.width 
     , 'elementHandlers': specialElementHandlers 
    }, 
    function (dispose) { 
     pdf.save('urfForm.pdf'); 
    } 
) 
} 

------------------------- Конец JS ---------------- -------------------------

Благодарим вас за помощь.

Кенни

+0

Может? пожалуйста, сделайте редактирование, чтобы описать проблему? – 4castle

+0

Ничего не происходит. Файл не создан. Экран не открывается, чтобы указать, что был создан PDF. – KenWill1978

+0

Я взглянул на то, что вы предоставили. шоу там есть опечатка, определенно исправить это. Кроме того, вам нужно включить 'plugins/from_html.js', чтобы иметь возможность вызвать 'doc.fromHTML()'. Существует неопределенная ошибка PDF, которую вы будете продолжать получать, пока не включите это. ---- 'from_html.js: 537 Uncaught TypeError: renderer.pdf.sHashCode не является функцией' - это следующая проблема, с которой я столкнулся. Я рекомендую вам реализовать 1-е исправления и, возможно, обновить свои библиотеки. эта проблема, возможно, была решена в новых версиях pdfJS. удачи! – Conceptz

ответ

1

Существует проблема с "меткой в ​​функции pdf.fromHTML. Вы написали "вместо", которая сломалась последовательность я исправил ошибку ниже;.

function urf2PDF() { 
 
var doc = new jsPDF('p', 'pt', 'letter'); 
 
source = $('#urfForm') [0]; 
 
var specialElementHandlers = { 
 
    '#bypassme': function(element, renderer){ 
 
     return true 
 
    } 
 
}; 
 

 
margins = { 
 
    top: 40, 
 
    left: 50, 
 
    width: 545 
 
}; 
 

 
pdf.fromHTML(
 
    source 
 
    , margins.left 
 
    , margins.top 
 
    , { 
 
     "width" : margins.width, 
 
     "elementHandlers": specialElementHandlers 
 
    }, 
 
    function (dispose) { 
 
     pdf.save('urfForm.pdf'); 
 
    }) 
 
}

Вы можете попробовать и дайте нам знать

Приветствия

+0

Я пробовал исправления, которые вы сделали, и до сих пор ничего не происходит. Я также пробовал базовые учебники по строкам, и ничего не работает. Я попробовал это как с сафари, так и с хром. Рисунок, если это не работает на них, нет смысла пытаться Firefox. Я также заметил, что в недавней документации есть разные переменные. Вместо «doc.text» он имеет «jsPDF.text». Это разочаровывает копирование и вставка кода, и он все еще не работает. Все еще интересуюсь обучением, и я ценю ваши ответы !!!! – KenWill1978

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