第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

打開(kāi)自動(dòng)創(chuàng)建的 pdf php javascript 時(shí)出現(xiàn)奇怪的語(yǔ)法

打開(kāi)自動(dòng)創(chuàng)建的 pdf php javascript 時(shí)出現(xiàn)奇怪的語(yǔ)法

縹緲止盈 2021-11-18 10:08:10
我正在嘗試制作一個(gè)網(wǎng)站,用戶可以在其中制作 pdf。當(dāng)我按下“創(chuàng)建工作表”時(shí),我想直接在按鈕旁邊顯示 pdf。我試圖用 javascript 和 php 來(lái)做,但我在 iframe 中得到了一個(gè)奇怪的語(yǔ)法,而不是實(shí)際的 pdf。有人知道這樣做的正確方法嗎?<?php        $titel = "TITLE";      require_once('tcpdf/tcpdf.php');        $obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);        $obj_pdf->SetCreator(PDF_CREATOR);        $obj_pdf->SetTitle("educationworksheet.com");        $obj_pdf->SetHeaderData('', '', PDF_HEADER_TITLE, PDF_HEADER_STRING);        $obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));        $obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));        $obj_pdf->SetDefaultMonospacedFont('helvetica');        $obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);        $obj_pdf->SetMargins(PDF_MARGIN_LEFT, '5', PDF_MARGIN_RIGHT);        $obj_pdf->setPrintHeader(false);        $obj_pdf->setPrintFooter(false);        $obj_pdf->SetAutoPageBreak(TRUE, 10);        $obj_pdf->SetFont('helvetica', '', 12);        $obj_pdf->AddPage();        $content .= '        <h3 align="center">TITLE</h3><br /><br />      <h4 align="left">This is what we are gonne do '.$titel.'</h4><br /><br /><h4 align = "left">Name:____________________________</h4>      ';            $obj_pdf->writeHTML($content);       $obj_pdf->Output('sample.pdf', 'I');  ?><!DOCTYPE html>  <html>      <head>         <script>            function loadDoc() {                var xhttp = new XMLHttpRequest();                xhttp.onreadystatechange = function() {                    if (this.readyState == 4 && this.status == 200) {                      document.getElementById("pdf_viewer").srcdoc = this.responseText;                    }                };                xhttp.open("GET", "/test2.php", true);                xhttp.send();            }        </script>      </head>  
查看完整描述

1 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

首先,問(wèn)題是瀏覽器不會(huì)以這種方式將 PDF 數(shù)據(jù)解釋為 PDF。srcdoc被視為原始 HTML。


有幾種不同的方法可以實(shí)現(xiàn)“點(diǎn)擊生成”功能:


1) 您可以完全刪除 AJAX,而僅使用 HTML 表單標(biāo)記來(lái)完成此操作。使用target表單元素上的屬性來(lái)定位您的 PDF 查看器 iframe。


  <body>

    <!-- Set up our form to target the PDF viewer iframe.-->

    <!-- Note: This will work with both GET and POST methods -->

    <form action="/test2.php" method="get" target="pdf_viewer">

      <input type="text" name="titel">

      <button height="10px" width="30px" type="submit" name="create_pdf_btn" value="create worksheet">create worksheet</button>

    </form>

    <!-- Initially, frame is blank, will update to PDF generation URL on form submit. 

  I created a special empty HTML file for this purpose. -->

    <iframe name="pdf_viewer" id="pdf_viewer" src="blank.html"></iframe>

  </body>

然后,test2.php您只需按照原樣生成內(nèi)聯(lián) PDF。


2) 在您的服務(wù)器上生成文件并使用 AJAX 響應(yīng)傳遞保存的 PDF 所在的位置。下面的這個(gè)答案會(huì)打開(kāi)一個(gè)新窗口,window.open但您可以簡(jiǎn)單地將該window.open行替換document.getElementById('pdf_viewer').src為使用新URL更新的行。

3) 返回 Base64 并使用冗長(zhǎng)的數(shù)據(jù) URL。


查看完整回答
反對(duì) 回復(fù) 2021-11-18
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)