安装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 服务器,能够运行在没有显示硬件和没有物理输入设备的机器上。它使用虚拟内存来模拟一个mb 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='http://example.com/style.css' rel='stylesheet' type='text/css'>";
echo "</head>";
你试试吧,我还要在后盾网学习呢,有不会的可以问我
⑵ php怎么把含有图片的html页面 转换为pdf 文件
1.FPDF: PDF生成器
FPDF是一个纯粹的通过PHP类来生成PDF文档的方法,需要生成的内容直接在PHP代码中来指定,生成文字,图片,线条等等,都有自己的方法。下面介绍一个用FPDF来生成”Hello World”的PDF文档:
1.<?php
2.require(‘fpdf.php’);
3.
4.$pdf=new FPDF();
5.$pdf->AddPage();
6.$pdf->SetFont(‘Arial’,'B’,16);
7.$pdf->Cell(40,10,’Hello World!’);
8.$pdf->Output();
9.?>
要生成PDF文档,首先我们需要包括库文件fpdf.php。
然后,我们需要建立一个FPDF对象使用默认构造FPDF(),这种构造可以通过三个值即页面方向(纵向或横向),计量单位,和页面大小( A4,A5……),默认情况下,页面大小为A4,计量单位是毫米。
它也可以被明确地指明:
1.$pdf=new FPDF(‘P’,'mm’,'A4′);
然后用AddPage()函数来增加一个页面,左上角和页面的内容在默认情况下边距为1厘米,当然我们可以使用SetMargins()来改变。要生成一段文本,首先我们要使用SetFont()来选择一种字体和字号。
1.$pdf->SetFont(‘Arial’,'B’,16);
我们使用Cell()函数来输出一个文本。一个Cell()是一个载有文字的矩形区域。
最后,我们要关闭这个文件并且把它输出,这就是用到了$pdf->Output();,我们还可以在这里指定我们想要使用的文件名,如$pdf->Output(’sample.pdf’);
⑶ wkhtmltopdf 能直接将登录后(后台页面)的某一网页生成pdf文件吗
没用过wkhtmltopdf,但是你可以试试用curl()模拟登陆,然后生成页面。。具体的你可以查一下手册。网上有很多curl使用的例子。
⑷ wkhtmltopdf可以在liunx下跑么
不可以,在wkhtmltopd文件中,包含 html 代码,如果运行在服务器,原样输出。 Javascript 代码,可运行 php代码,执行后生成html然后输出,但是不可以在liunx中运行。
⑸ 如何利用js或php将html网页转为pdf
首先需要安装wkhtmltopdf这个软件 需要执行shell_exec函数的php文件和安装的wkhtmltopdf.exe可执行文件在同一目录下,不然php找不到这个执行文件
shell_exec("wkhtmltopdf.exe --page-size A4 --outline 网页地址 pdf文件名");
--page-size 以A4纸的尺寸显示pdf内容
--outline 显示目录(网页中h1,h2来定)
网页地址 需要转成pdf的网页地址
pdf文件名 生成pdf的文件名,可以使用绝对路径
⑹ 把网页转成PDF[html to pdf]
使用 TuesPechkin (C#)类库, 这个是将wkhtmltopdf(C++) 使用?C# 进行的封装
使用方便 ,
publicpartialclassDefault:System.Web.UI.Page
{
privateIConverterconverter=
newStandardConverter(
newPdfToolset(
newWin64EmbeddedDeployment(
newTempFolderDeployment())));
protectedvoidPage_Load(objectsender,EventArgse)
{
stringhtmlPath=Server.MapPath("~/index.html");
stringhtmlContext=System.IO.File.ReadAllText(htmlPath);
vardoc=newHtmlToPdfDocument();
doc.Objects.Add(newObjectSettings(){HtmlText=htmlContext});
doc.Objects.Add(newObjectSettings{PageUrl="http://news.ifeng.com/history/special/yuanshikai/
});
varresult=converter.Convert(doc);
varpath=@"d: ext.pdf";
System.IO.File.WriteAllBytes(path,result);
}
}
源码地址: https://github.com/tuespetre/TuesPechkin
⑺ 如何利用php将word转化为pdf
安装一款
PDFCreator
的软件,它会在系统下安装一名为PDFCreator打印机再按下面操作:
1.在WORD的应用程序中打开你想要转换成PDF的文档。
2.就像在一个标准打印机里面打印一样,打印这个文档。
3.当打印对话框出现后,在打印机名称的下拉框中选择PDFCreator
printer。如果PDFCreator
printer是默认下的打印机,那么你就不需要再去选择了,只要按“确定”键就可以了。
4.接着会弹出一个窗口出来,要求你填写一些信息以便于工作创建PDF文档。
注意:这里你也可以指定你要保存的文档的格式。你可以保存为PDF,
PNG,
JPEG,
BMP,
PCX,
TIFF,
PS,
和
EPS格式。
5.如果你选择保存,这个PDF将会创建并在它默认的PDF阅读器中打开。
⑻ 使用wkhtmltopdf在页脚需要用中文,字体设置后,中文显示不对
编码问题,你看下浏览器和你写的代码的编码是否一致,不一致就要更换,一般是utf-8和gbk格式
⑼ PHP生成PDF,用什么类库好
建议用MPDF,优点主要是组装页面简单,完美读取页面样式,兼容utf8和图片排版.
我用过fpdf,中文支持不好,而且要用拼单元格的方式拼页面,特别麻烦.tcpdf没太研究,因为更麻烦所以放弃了.
wkhtmltopdf需要服务器支持,占用服务器资源较多.弃掉了
至于dompdf,HTML2PDF等,你可以适当研究一下