PHP列印預覽PDF

2021-10-25 14:03:50 字數 3367 閱讀 7024

functioncreatepdffile

($frontdata

)

// 列印預覽

public

function

printexternal

(request $request),

'contract_list'

=>

function($q

)])-

>

first()

;$arr=[

];foreach

($data

->

contract_list

as$k

=>$v)

$arr[$k

]['total']=

$v->

total

;$arr[$k

]['price']=

$v->

price

;$arr[$k

]['total_sum']=

$v->

total*$v

->

price

;$arr[$k

]['nations']=

implode

(','

,$nations);

$arr[$k

]['currency_abbr']=

account_type_v()

[$data

->

currency];

}$nalist

=$arr

;// 或者是匯出還是預覽,1預覽2匯出

$pdf

=new

\tcpdf

('p');

// l - 橫向 p-豎向

// 設定文件資訊

$foreign_name

=foreign_trade()

[$data

->

foreign

->

foreign_id][

'name'];

$pdf

->

setcreator

($foreign_name);

$pdf

->

setauthor

($foreign_name);

$pdf

->

settitle

($foreign_name);

$pdf

->

setsubject

($foreign_name);

$pdf

->

setkeywords

('tcpdf, pdf, php');

// 設定頁首和頁尾資訊

// $pdf->setheaderdata('tcpdf_logo.jpg', 30, 'xx公司', 'xx製造', [0, 64, 255], [0, 64, 128]);

$pdf

->

setfooterdata([

0,64,

0],[

0,64,

128]);

// 設定頁首和頁尾字型

$pdf

->

setheaderfont([

'stsongstdlight',''

,'10'])

;$pdf

->

setprintheader

(false);

$pdf

->

setprintfooter

(false);

$pdf

->

setfooterfont([

'helvetica',''

,'8'])

;// 設定預設等寬字型

$pdf

->

setdefaultmonospacedfont

('courier');

$pdf

->

setcellpaddings(10

,0,10

,15);

// 設定間距

$pdf

->

setmargins(10

,5,10

);//頁面間隔

$pdf

->

setheadermargin(0

);//頁首top間隔

$pdf

->

setfootermargin(0

);//頁尾bottom間隔

// 設定分頁

$pdf

->

setautopagebreak

(true,25

);// set default font subsetting mode

$pdf

->

setfontsubsetting

(true);

//設定字型 stsongstdlight支援中文

$pdf

->

setfont

('stsongstdlight',''

,10);

ob_clean()

;//第一頁 匯出的頁面

$view

= \view::

make

("temp.contract.contract",[

'data'

=>

$data

,'foreign_name'

=>

$foreign_name

,'nalist'

=>

$nalist])

;$html

=$view

->

render()

;$html

=preg_replace

("/\s\s+/",''

,$html);

$pdf

->

addpage()

;$pdf

->

writehtml

($html

,true

,false

,true

,false

,true);

$pdfname

='成交確認書'

.$data

->

order

->

order_no

;//輸出pdf

$pdf

->

output

($pdfname

.'.pdf'

,'i');

// if ($type == 1) else

}

PDF預覽 pdfJS預覽pdf檔案

方式1 檔案流轉為blob let urlsrc window.url.createobjecturl blob this src urlsrc pdf空白頁 else 正確解析了頁碼,但是每頁空白。解決方法 responsetype blob html visible.sync dialo isi...

QT實現列印預覽及生成Pdf功能

一 要實現列印功能,首先要在pro檔案中加上 qt printsupport 並且需要重新qmake 二 qt提供了qprintpreviewdialog 類,所以列印功能可以直接通過此對話方塊實現 三 要喚出 qprintpreviewdialog 對話方塊,需要使用 connect previe...

使用vue預覽PDF

效果圖 講解之前先看案例,強烈推薦此專案vue pdf.js demo 前端 方法 filepreview row console.log handledownbyurlbypost2 admin sys file getfilebybucket name,then response catch r...