捕获和转换Web的工具

将网页和HTML转换为PDF

Perl API

GrabzIt的Perl API 提供以下功能,以使创建PDF屏幕截图以及将HTML直接转换为PDF尽可能容易 int过分的 int你的应用 但是,在开始之前,请记住 URLToPDF, HTMLToPDF or FileToPDF 方法 Save or SaveTo 必须调用方法来实际创建PDF。

基本选项

网页转换后 into以PDF格式捕获整个网页,这可能会导致PDF文档包含许多页面。 只需一个参数即可转换网页 intpdf文档或 将HTML转换为PDF 如以下示例所示。

$grabzIt->URLToPDF("https://www.tesla.com");
# Then call the Save or SaveTo method
$grabzIt->HTMLToPDF("<html><body><h1>Hello World!</h1></body></html>");
# Then call the Save or SaveTo method
$grabzIt->FileToPDF("example.html");
# Then call the Save or SaveTo method

自订识别码

您可以将自定义标识符传递给 PDF 方法,如下所示,然后将该值返回到您的GrabzIt Perl处理程序。 例如,此自定义标识符可以是数据库标识符,从而允许将屏幕截图与特定的数据库记录相关联。

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->customId("123456");

$grabzIt->URLToPDF("https://www.tesla.com", $options);
# Then call the Save method
$grabzIt->Save("http://www.example.com/handler.pl");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->customId("123456");

$grabzIt->HTMLToPDF("<html><body><h1>Hello World!</h1></body></html>", $options);
# Then call the Save method
$grabzIt->Save("http://www.example.com/handler.pl");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->customId("123456");

$grabzIt->FileToPDF("example.html", $options);
# Then call the Save method
$grabzIt->Save("http://www.example.com/handler.pl");

页眉和页脚

创建PDF屏幕截图时,您可以要求您应用特定的 模板 到生成的PDF。 该模板必须是 saved并会指定页眉和页脚的内容以及任何特殊变量。 在下面的示例代码中,用户正在使用其名为“我的模板”的模板。

如果页眉或页脚分别没有足够大的顶部或底部边距,则它将不会出现在PDF中。 在下面的示例中,我们将顶部和底部边距设置为20以提供足够的空间。

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->marginTop(20);
$options->marginBottom(20);
$options->templateId("my template");

$grabzIt->URLToPDF("https://www.tesla.com", $options);
# Then call the Save or SaveTo method
$grabzIt->SaveTo("result.pdf");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->marginTop(20);
$options->marginBottom(20);
$options->templateId("my template");

$grabzIt->HTMLToPDF("<html><body><h1>Hello World!</h1></body></html>", $options);
# Then call the Save or SaveTo method
$grabzIt->SaveTo("result.pdf");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->marginTop(20);
$options->marginBottom(20);
$options->templateId("my template");

$grabzIt->FileToPDF("example.html", $options);
# Then call the Save or SaveTo method
$grabzIt->SaveTo("result.pdf");

将HTML元素转换为PDF

如果只想直接转换div或span等HTML元素 int您可以使用GrabzIt的Perl库获得PDF文档。 您必须通过 CSS选择器 您希望转换为HTML元素的 targetElement 方法。

...
<span id="Article">
<p>This is the content I am interested in.</p>
<img src="myimage.jpg">
</span>
...

在此示例中,我们希望捕获跨度中ID为的所有内容 Article,因此我们将其传递给GrabzIt,如下所示。

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItPDFOptions->new();
$options->targetElement("#Article");

$grabzIt->URLToPDF("http://www.bbc.co.uk/news", $options);
# Then call the Save or SaveTo method
$grabzIt->SaveTo("result.pdf");

定位HTML元素时如何裁剪PDF 使用这些技术进行控制.