开源 Ruby 库以从 HTML 生成 PDF
Ruby PDF API,使开发人员能够呈现 HTML/CSS 并将其输出为高质量的 PDF,从提供的文件或 URL 生成 PDF 文档。
不同类型的企业每天都会创建各种文档。这些文档中的大多数都包含需要保护的非常机密或私人的数据。可移植文档格式 (PDF) 是一种非常有用且方便的方式,可在您在网络上共享个人信息时保护您的个人信息安全。 PDFKit 是一个非常有用的 Ruby 库,它使软件开发人员能够使用纯 HTML/CSS 代码生成 PDF 文件。
该库非常易于使用,并在后端使用 wkhtmltopdf,它使用 WebKit 呈现 HTML/CSS 并将其输出为高质量的 PDF。该库非常灵活,允许用户轻松地从提供的 URL 生成 PDF 文档。该库包含几个用于呈现 PDF 文档的重要功能,例如从 HTML 代码生成 PDF、修改 PDF、向 PDF 添加样式、插入页眉和页脚、表格分页符等等。
该库为用户提供了许多选项来控制它如何在他们的应用程序中创建 PDF。您可以全局配置这些选项,也可以按页面设置它们。您可以在页面上使用特殊命名的元标记来控制如何将页面的 HTML 呈现为 PDF。
.
PDFKit 入门
要在您的系统上安装 PDFKit,请运行以下命令,
使用 ruby gem 安装 PDFKit
gem install pdfkit
通过 Ruby 从 HTML 生成 PDF
开源 Ruby 库 PDFKit 使软件开发人员能够在自己的应用程序中从 HTML 代码生成 PDF 文档。您可以使用 CSS 将不同类型的样式应用于您的代码,然后可以从中生成 PDF 文档。您还可以轻松设置页面大小,默认使用 A4 尺寸。您还可以通过 Meta 标签进行不同类型的选项。也可以将 cookie 传递给 PDFKit 以使用哈希来抓取网站。
通过 PDFKit 创建 PDF 文件
# Generate PDF via Ruby
require 'pdfkit'
html = render_to_string(:layout => 'layouts/test_layout' , :action => print_form.html.erb")
kit = PDFKit.new(html)
send_data(kit.to_pdf, :filename => "Form.pdf", :type => 'application/pdf')
添加到 PDF 的页眉和页脚
PDFKit 库支持在其 PDF 文档中添加页眉和页脚,只需几行代码。您可以轻松设置 PDF 页眉和页脚的边距,并可以对其应用边距。您可以轻松地动态生成页眉和页脚。请记住,该库仅接受文件或 URL。它不接受原始文本。必须避免断开的链接,否则它不会产生预期的结果。
通过 Ruby API 加载和解析 PDF 数据
开源 PDF 库 PDFKit 支持在 Ruby 应用程序中加载和解析 PDF 文件。按照建议,从 PDF 文件加载数据很容易。开发人员还可以从内存中解析 PDF 文件。从内存中加载数据非常有效,尤其是对于通过 Internet 或从不同库接收的数据。与解析渲染相同,也可以对内存或文件执行。
通过 Ruby 解析 PDF 指南的标题页
# Render PDF Title Page via Ruby
const renderTitlePage = doc => {
const title = 'PDFKit Guide';
const author = 'By Devon Govett';
const version = `Version ${require('../package.json').version}`;
doc.font('fonts/AlegreyaSans-Light.ttf', 60);
doc.y = doc.page.height / 2 - doc.currentLineHeight();
doc.text(title, { align: 'center' });
const w = doc.widthOfString(title);
doc.h1Outline = doc.outline.addItem(title);
doc.fontSize(20);
doc.y -= 10;
doc.text(author, {
align: 'center',
indent: w - doc.widthOfString(author)
});
doc.font(styles.para.font, 10);
doc.text(version, {
align: 'center',
indent: w - doc.widthOfString(version)
});
doc.addPage();
};
通过 Ruby 向现有 PDF 页面添加文本
开源 PDFKit 库使软件开发人员能够通过几行 Ruby 代码将文本或图像添加到现有 PDF 文件中。它包括对许多选项的支持,以自定义输出文本的显示。该库包括对文本样式、文本测量、项目符号列表、14 种标准字体等的支持。它还支持自动换行;这意味着文本将自动包裹在页边距内,并放置在文档流中任何先前文本的下方。
通过 PDFKit 将富文本样式应用于 PDF 内容
# Rich Tex Support in PDF
doc.fillColor('green')
.text(lorem.slice(0, 500), {
width: 465,
continued: true
}).fillColor('red')
.text(lorem.slice(500));