php做pdf插件,php上传pdf文件

发布时间:2022-11-18

本文目录一览:

  1. php网站pdf显示插件 pdf.js 浏览器打开大文件崩溃。
  2. PHP生成PDF,用什么类库好
  3. 怎么用PHP在HTML中生成PDF文件
  4. php wkhtmltopdf怎么实现
  5. 如何使用PHP创建和修改PDF文档

php网站pdf显示插件 pdf.js 浏览器打开大文件崩溃。

您好,两种方案:一种直接链接,把pdf文件当作img文件,类似<a href=""></a>这种形式,这样链接:

<frame src="pdf文件的地址"/>

另一种:使用js插件哈。 其中实现阅读pdf文件的js插件很多,比如:

  • pdf.js:是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持;
  • jsPDF:是一个使用Javascript语言生成PDF的开源库(IE暂不支持); 比较简单易上手的js插件:PDFObject.js,是一个 JavaScript 库用来在HTML中动态嵌入 PDF 文档。 效果如下: PDFObject.js目前已经升级到1.2,可以支持IE9。 PDFObject.js宗旨:Sometimes you need a little JavaScript. When you do, try PDFObject。 来看看少之又少的js代码:
<script type="text/javascript">
window.onload = function (){
    var success = new PDFObject({ url: "sample.pdf" }).embed();
};
</script>

OK,这样就可以了。只要把地址写对即可。 若我在某一个div中加载pdf咋办呢?看官网,发现embed()方法可以有参数的,无参数是指body,有参数是具体的某一个位置。

<script type="text/javascript">
window.onload = function (){
    var success = new PDFObject({ url: "sample.pdf" }).embed("div的id");
};
</script>

当然,其中还可以进一步设置参数,比如你想以多少秒的速度预览,有css,无css等。

PHP生成PDF,用什么类库好

FPDF

这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。它所具有的特点包括:可选择的unit大小,页面格式和页边距;页眉和页脚管理;自动分页;自动换行与文本自动对齐;支持JPEG与PNG图片格式;支持着色和文件超链接;支持TrueType,Type1与encoding;支持页面压缩。

HTML2PDF

HTML2PDF能够把一个HTML文本转换成一个打印机友好的PDF文件。这个PHP脚本构建在FPDF PHP脚本之上。

TCPDF

TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进。支持UTF-8,Unicode,HTML和XHTML。

html2ps

html2ps能够把带有图片,复杂表格(包含rowspan/colspan),layer/div和css样式的HTML转换成Postscript与PDF。 html2ps对CSS2.1支持非常好,并且很好地兼容不正确的HTML。它甚至能够转换几乎是采用CSS设计的网站如msn.com。

HTML_ToPDF

HTML_ToPDF能够把任何HTML文档转换成在任何平台和打印机下界面格式都一样的PDF文档。它包括支持图片转换,使用样式表来定制PDF文件和错误处理。

cPdfWriter

cPdfWriter是一个能够输出PDF文档的PHP5 class。基于TCPDF,FPDF和其它相关脚本。

dompdf

dompdf是一个HTML到PDF的转换工具。它的核心是一个遵循大部份CSS2.1样式的Rendering引擎。dompdf采用样式驱动,它能够下载并读取外部样式,整个样式标签和单个HTML元素的样式属性。它同样支持目当大部份HTML属性。

怎么用PHP在HTML中生成PDF文件

php有很多开源的生成PDF的类库你直接搜下就能找到,类似这样的插件基本都输出同样格式就可以; 这下边是个案列:

require_once('tcpdf.php');
//实例化
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
// 设置文档信息
$pdf->SetCreator('Helloweba');
$pdf->SetAuthor('yueguangguang');
$pdf->SetTitle('Welcome to helloweba.com!');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, PHP');
// 设置页眉和页脚信息
$pdf->SetHeaderData('logo.png', 30, 'Helloweba.com', '致力于WEB前端技术在中国的应用', array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
// 设置页眉和页脚字体
$pdf->setHeaderFont(Array('stsongstdlight', '', '10'));
$pdf->setFooterFont(Array('helvetica', '', '8'));
// 设置默认等宽字体
$pdf->SetDefaultMonospacedFont('courier');
// 设置间距
$pdf->SetMargins(15, 27, 15);
$pdf->SetHeaderMargin(5);
$pdf->SetFooterMargin(10);
// 设置分页
$pdf->SetAutoPageBreak(TRUE, 25);
// set image scale factor
$pdf->setImageScale(1.25);
// set default font subsetting mode
$pdf->setFontSubsetting(true);
//设置字体
$pdf->SetFont('stsongstdlight', '', 14);
$pdf->AddPage();
$str1 = '欢迎来到Helloweba.com';
$pdf->Write(0,$str1,'', 0, 'L', true, 0, false, false, 0);
//输出PDF
$pdf->Output('t.pdf', 'I');

php wkhtmltopdf怎么实现

安装wkhtmltopdf:

apt-get install wkhtmltopdf

从HTML生成PDF文件的基本语法如下:

wkhtmltopdf input-file output-file

我们可以从任何网页生成PDF:

wkhtmltopdf example.com example.pdf

或从本地html文件:

wkhtmltopdf example.html example.pdf

以上命令只能在Linux box 图形环境中使用。如果我们在一个VPS或专用服务器上生成PDF,如果我们执行该命令,我们将得到从下错误:

wkhtmltopdf: cannot connect to X server

为了解决这个问题,我们需要使用一个名为 xvfb 的工具。 Xvfb是一个 X 服务器,能够运行在没有显示硬件和没有物理输入设备的机器上。它使用虚拟内存来模拟一个dumb framebuffer。 安装 xvfb:

apt-get install xvfb

接下来,我们需要创建一个shell脚本:

xvfb-run --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf $*

然后将它保存在 /usr/bin/wkhtmltopdf.sh 下。 下一步,我们将创建一个 symbolic 链接,这样我们就可以执行脚本而不用编写的完整路径:

ln -s /usr/bin/wkhtmltopdf.sh /usr/local/bin/wkhtmltopdf2

让我们尝试执行shell脚本,并看看会发生什么。

wkhtmltopdf2 example.com example.pdf

输出:

Loading page (1/2)
Printing pages (2/2)
Done

好,如果能够正确运行。就可以用以下自定义PHP脚本来生成一个PDF文件。

//Turn on output buffering
ob_start();
echo "<html>";
echo "<head>";
echo "<link href='' rel='stylesheet' type='text/css'>";
echo "</head>";

你试试吧,我还要在后盾网学习呢,有不会的可以问我。

如何使用PHP创建和修改PDF文档

示例一:使用PHP生成一个简单的PDF文档

require_once('../config/lang/eng.php');
require_once('../tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 002');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// set font
$pdf->SetFont('times', 'BI', 20);
// add a page
$pdf->AddPage();
// print a line using Cell()
$pdf->Cell(0, 10, 'Example 002', 1, 1, 'C');
//Close and output PDF document
$pdf->Output('example_002.pdf', 'I');

使用PHP修改PDF文档

下面我们讨论如何使用PHP修改PDF文档。假设我们需要将一张图片通过PHP程序加入到PDF中,示例代码如下:

示例二:使用PHP在PDF中增加一张图片

require_once('../config/lang/eng.php');
require_once('../tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 009');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// add a page
$pdf->AddPage();
// set JPEG quality
$pdf->setJPEGQuality(75);
// Image example
$pdf->Image('../images/image_demo.jpg', 50, 50, 100, 150, '', '', '', true, 150);
//Close and output PDF document
$pdf->Output('example_009.pdf', 'I');