我一直在使用wkthmltopdf在我的linux web服务器上即时将html转换为pdf文档.该程序最初需要X11或类似的X服务器才能正常运行,但是由于开发人员要求在没有GUI的服务器上运行该程序,我很确定它在静态版本中运行虚拟X服务器.我一直在使用程序的静态(独立)版本,它工作得很好!我将可执行文件放在一个文件夹中,然后运行:
./wkhtmltopdf file1.html file2.pdf
但是我想在系统范围内安装这个程序.我使用了apt-get install wkhtmltopdf(昨天安装),因为我在64位系统上运行,我也需要apt-get install ia32-libs.安装后我可以找到这样的版本:
wkhtmltopdf --version
输出:
Name:
  wkhtmltopdf 0.9.9
License:
  Copyright (C) 2008,2009 Wkhtmltopdf Authors.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
  This is free software: you are free to change and redistribute it. There is NO
  WARRANTY, to the extent permitted by law.
Authors:
  Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
  Bouthenot.
现在当我尝试运行通过aptitude安装的程序时,我收到以下错误:
wkhtmltopdf: cannot connect to …当我通过wkhtmltopdf将html转换为PDF时,我想避免在html中的表行内部分页.我使用page-break-inside:避免使用table-它的工作,但是我有很多行,然后没有工作.如果将tr的显示设置为块或其他内容,则会更改表的格式并插入双边框.或者可以在分割表的每个页面上插入表头.
我从一个表格的 html页面生成pdf报告.
我正在使用wkhtmltopdf.
当生成pdf时,它会破坏tr标签中的任何位置.
我想避免它.
我已经尝试过在我们的网络服务器上安装wkhtmltopdf但不幸的是它没有安装.我无法访问安装教程中所述的user/bin文件夹.
在public_html文件夹中的服务器上有一个子文件夹_vti_bin,我从wkhtmltopdf-0.9.1-static-i386复制了文件wkhtmltopdf -i386,但是我无法执行它.
如何在(共享主机)Web服务器上安装wkhtmltopdf并使其正常工作?
我使用wkhtmltopdf转换PDF格式的HTML文件; 它给出了令人惊讶的好结果,完全像WebKit那样呈现PDF.
我使用Google Web Fonts让用户可以自定义他们编辑的文档的外观,使他们可以选择几种字体.它也可以在浏览器中完美运行.
问题是,在使用wkhtmltopdf将此类HTML文件转换为PDF时,我无法使用Google字体.我读过其他人有同样的问题.
有人可以帮我解决这个问题吗?
编辑:直接在CSS中声明@ font-face也不起作用.
我正在尝试从HTML文件创建PDF文件.环顾四周之后我发现:wkhtmltopdf是完美的.我需要从ASP.NET服务器调用此.exe.我试过了:
    Process p = new Process();
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.FileName = HttpContext.Current.Server.MapPath("wkhtmltopdf.exe");
    p.StartInfo.Arguments = "TestPDF.htm TestPDF.pdf";
    p.Start();
    p.WaitForExit();
没有成功在服务器上创建任何文件.任何人都可以给我指向正确的方向吗?我将wkhtmltopdf.exe文件放在站点的顶级目录中.应该举行其他任何地方吗?
编辑:如果有人有更好的解决方案从html动态创建PDF文件,请告诉我.
我正在开发一个电子发票系统,我们的一个功能是生成发票的PDF并邮寄它们.我们有多个发票模板,稍后会创建更多模板,因此我们决定使用HTML模板,生成HTML文档,然后将其转换为PDF.但是我们遇到了wkhtmltopdf的问题,据我所知(我已经谷歌了几天才找到解决方案)我们不能简单地将HTML用作页眉/页脚,并在其中显示页码.
在错误报告(或其他)中(http://code.google.com/p/wkhtmltopdf/issues/detail?id=140)我用JavaScript读到了这个组合可以实现的.但是,无法在此页面或其他位置找到有关如何执行此操作的其他信息.
强制使用JavaScript当然不是那么重要,如果使用wkhtmltopdf一些CSS魔法可以工作,它就像任何其他hackish解决方案一样令人敬畏.
谢谢!
当我的应用程序运行时(或从命令行运行时)wkhtmltopdf命令我收到以下错误:(从命令行显示)
#> wkhtmltopdf 
wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
我注意到lib确实在/usr/lib文件夹中,但不在/lib文件夹中.它们中的哪一个是否重要?有没有办法让它识别它?
#> ls -l /usr/lib/libXrender.so*
lrwxrwxrwx 1 root root    19 Feb 17 07:20 /usr/lib/libXrender.so -> libXrender.so.1.3.0
lrwxrwxrwx 1 root root    19 Feb 17 07:20 /usr/lib/libXrender.so.1 -> libXrender.so.1.3.0
-rwxr-xr-x 1 root root 39184 Jan 29  2010 /usr/lib/libXrender.so.1.3.0
#> ls -l /lib/libXrender.so*
ls: cannot access /lib/libXrender.so*: No such file or directory
我还检查了lib的依赖项
# ldd /usr/lib/libXrender.so.1
    libX11.so.6 => /usr/lib/libX11.so.6 …这在某种程度上已被要求,但没有解决方案或接受的答案,我想尝试在我的问题中更全面,所以:
我正在尝试通过PHP在共享服务器上运行WKHTMLTOPDF(在这种情况下,它是MediaTemple(gs)).根据主机的说法,没有理由这不起作用,实际上它是通过SSH工作的.所以...
我尝试过各种各样的东西,最基本的东西什么也没做,只是默默地失败了:
exec("/path/to/binary/wkhtmltopdf http://www.google.com pdf1.pdf");
完整的PHP绑定以及以下内容给了我错误,尽管我最好的谷歌搜索,我无法弄清楚:
呼叫:
$html = file_get_contents("http://www.google.com");
$pdf = new WKPDF();
$pdf->set_html($html);
$pdf->render();
$pdf->output(WKPDF::$PDF_EMBEDDED,'sample.pdf');
错误:
Fatal error: Uncaught exception 'Exception' with message 'WKPDF didn't return
any data. <pre>Loading pages (1/6) [> ] 0% [======> ] 10% terminate called
after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc </pre>'
in /path/to/wkhtmltopdf.php:206 Stack trace: #0 /path/to/index.php(8):
WKPDF->render() #1 {main} thrown in /path/to/wkhtmltopdf.php on line 206
一旦我得到了这个(下面是一个提取物,因为我现在无法重现它):
Qt Concurrent has caught an exception thrown …我遇到了一种情况,我必须在生成的PDF打印件中使用页脚和标题.CSS解决方案仅适用于第一页.我发现的唯一信息是WKPDF根本不支持,但这可以追溯到2009年,所以可能会有所改变.
有人成功吗?
谢谢.