- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用wkhtmltoimage使用 Perl 模块将 html 和网页转换为图像 WKHTMLTOPDF 。下面的脚本和代码可以在命令行中运行,但如果我从浏览器调用脚本则不起作用。
Update:
If I run the script from the shell as a root user, it runs without
error, if I switch to the domain user where the script is located,
I get that error, seems it is executable permissions for domain owner.
错误是:
error running '/usr/local/bin/wkhtmltoimage': '/usr/local/bin/wkhtmltoimage http://yahoo.com
/home/xxxx/public_html/pdfwebkit/output.png' died with signal 11, with coredump at
/usr/local/perl-5.18.1/lib/site_perl/5.18.1/MooseX/Role/Cmd.pm line 128.
MooseX::Role::Cmd::run(WKHTMLTOPDF=HASH(0x2714260), "http://yahoo.com",
"/home/xxxx/public_html/pdfwebkit/output.png") called at /usr/local/
perl-5.18.1/lib/site_perl/5.18.1/WKHTMLTOPDF.pm line 645 WKHTMLTOPDF::generate(WKHTMLT
OPDF=HASH(0x2714260)) called at htmltoimage.cgi line xxx main::convert_using_WKHTMLTOPDF_image("http://yahoo.com",
"/home/xxxx/public_html/pdfwebkit/output.png") called at htmltoimage.cgi line xx
我使用的代码是:
#!/usr/bin/perl
#!C:\perl\bin\perl.exe
print "Content-type: text/html;charset=utf-8\n\n";
use File::Spec::Functions;
use File::Basename;
BEGIN {
$|=1;
use CGI::Carp qw(fatalsToBrowser set_message);
sub handle_errors {
#print "Content-type: text/html;charset=utf-8\n\n";
my $msg = shift;
print qq!<h1><font color="red">Software Error</font></h1>!;
print qq!<p>$msg</p>!;
}
set_message(\&handle_errors);
}
$|=1;
my ($Script, $Bin);
if ($ENV{SCRIPT_FILENAME}) {
($Script, $Bin) = fileparse($ENV{SCRIPT_FILENAME});
}
else {
($Script, $Bin) = fileparse(__FILE__);
}
use WKHTMLTOPDF;
my $outfile = catfile ($Bin, 'output.jpg');
print "Converting url to image file $outfile...<br>\n";
convert_using_WKHTMLTOPDF_image('http://yahoo.com', $outfile);
print "Finished...<br>\n";
exit;
sub convert_using_WKHTMLTOPDF_image {
my ($page, $output) = @_;
my $pdf = new WKHTMLTOPDF;
my $bin = '/usr/local/bin/wkhtmltoimage';
#my $bin = 'C:/Program Files/wkhtmltopdf/bin/wkhtmltoimage.exe';
$pdf->bin_name($bin);
$pdf->_input_file($page);
$pdf->_output_file($output);
#$pdf->grayscale(1);
$pdf->generate;
}
sub convert_html_to_image_direct {
my ($page, $output) = @_;
my $bin = '/usr/local/bin/wkhtmltoimage --quiet ';
my $out = `$bin $page $output`;
print "out: $out<br>\n";
return $out;
}
该代码可以在 Windows 上通过浏览器正常运行。如果我尝试使用 wkhtmltopdf 将 html 转换为 pdf,我也会遇到同样的问题。
我安装二进制文件的方式来自这里:
https://gist.github.com/DaRamirezSoto/5489861
# wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2
# wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2
# tar xvjf wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2
# tar xvjf wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2
# chown root:root wkhtmltopdf-amd64
# chown root:root wkhtmltoimage-amd64
# mv wkhtmltopdf-amd64 /usr/bin/wkhtmltopdf
# mv wkhtmltoimage-amd64 /usr/bin/wkhtmltoimage
// dependencies
# yum install -y libXrender libXext openssl openssl-devel fontconfig
最佳答案
我使用 Centos 6 服务器进行了测试(在 IE 11/Win 8.1 中),只需稍微更改一下我想要保存它的文件夹的路径即可正常工作。
我的输出是正在将 url 转换为图像文件/home/user/../bittertruth.jpg...完成...
这正如你所期望的......
关于linux - wkhtmltoimage 将 html 转换为图像 Perl 和 Centos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28032761/
我想捕获屏幕并将其存储到服务器。我已使用以下命令在我的 php 代码中实现屏幕捕获。 $exec_command = "wkhtmltoimage --quality 10 --window-stat
我有一个使用 wkhtmltoimage 呈现图像的 Rails 应用程序。图像中使用的字体是 Lucida Grande,通过 inline data-uris 包含在内。在我的本地 Mac 上一切
我正在尝试使用 wkhtmltoimage 在 html 图像的顶部添加一些文本。我不确定我是否使用了正确的论点。目前,我失败了... wkhtmltoimage --custom-header he
$command = "/usr/local/bin/wkhtmltoimage --quality 70 --crop-w 800 --crop-x 50 --javascript-delay 90
我的目标是将文本渲染成图像。我希望布局和大小是静态的,字体大小可以根据要呈现的文本量进行调整。我选择的工具是 wkhtmltoimage 0.12.5,我的想法是这样我可以利用许多 css 样式选项。
我正在尝试获取 wkhtmltoimage在我的 CentOS 6 服务器上工作。我已经解压缩文件,但是当我运行命令时出现错误。 我正在运行的命令是 wkhtmltoimage-i386 --load
我在运行这个二进制文件时遇到了真正的麻烦(我已经花了很多天了!)。 我想让 wkhtmltoimage 在带有 Apache Web 服务器 (icdsoft.com) 的 Linux 操作系统上运行
我正在使用 wkhtmltoimage 为我的网站渲染包含背景渐变的快照,但它没有显示在生成的快照中。 我尝试在 Ubuntu 和 Windows 上使用,但找不到错误。 我什至尝试使用不带任何参数的
我正在尝试将 HTML 页面呈现为启用透明的 PNG。 这是生成图像的命令: /usr/local/bin/wkhtmltoimage-amd64 --transparent --crop-h 300
当我在终端中使用 wkhtmltoimage 时,它运行良好。但是在php中使用时会出现一些问题。这是问题所在:PHP代码: 有效。当我在终端中尝试相同的命令时,它也有效。 但是当我尝试其他链接
当我运行 i386 版本的 wkhtmlimage (如果重要的话,在 Ubuntu 64 位上),我收到以下错误, ./wkhtmltoimage-i386 http://www.google.co
他们显示的唯一字符是英文字符。 打印页面的布局是应该的,但唯一错误的是除英语(罗马)以外的任何脚本中的字符被替换为框。 我已经安装了 xvfb 和字体,但它仍然给我下面的错误 FreeFontPath
我想在网站上运行 javascript,但是当我这样做时,没有任何变化,我得到的 pdf 就好像我在上面没有运行 javascript 的结果,这是我所做的一个例子: xvfb-run --serve
我使用 wkhtmltoimage 从网络服务器抓取屏幕截图,它总是获取 1024px png 图像。我可能做错了什么? /usr/bin/xvfb-run.sh --server-args="-sc
有点奇怪的问题。我正在生成一些 HTML 报告,然后由于 Outlook 2010 对 CSS/HTML/图像的理解的限制,我将整个该死的报告作为图像发送出去。 一代工作正常。在各种分辨率下,在浏览器
我需要将 WKHTMLTOX 与我的 AWS EB 应用程序一起安装。 我找到了 this教程,除了支持旧版本外,它可以工作。 有没有人在 AWS EB 上安装了最新的 (0.12.3) 版本,因为这
我正在尝试使用wkhtmltoimage使用 Perl 模块将 html 和网页转换为图像 WKHTMLTOPDF 。下面的脚本和代码可以在命令行中运行,但如果我从浏览器调用脚本则不起作用。 Upda
我正在拼命地尝试给 xvfb-run 一些分辨率参数,以在不同分辨率下截取带有 wkhtmltox 的网站的屏幕截图。 我在 CentOS 上同时使用 xvfb-run 和 wkhtmltox。 xv
我想做什么 使用 exec 打开一个 .php 页面 exec('./wkhtmltoimage-i386 abcdef.com/combined.php chart.jpg', $op, $er);
我正在尝试从 HTML 生成图像(jpg 或 png),并且我已经尝试过 PhantomJS(通过 php 中的 jonnyw/php-phantomjs)和 wkhtmltoimage,但它们在生成
我是一名优秀的程序员,十分优秀!