用于生成 PDF 处理应用程序的开源 Ruby 库
免费的 Ruby PDF API,使开发人员能够轻松分析、修改和创建恶意 PDF 文件。使用 RC4 或 AES 加密 PDF 文档。
Origami 是一个纯 Ruby 库,它使软件开发人员能够创建强大的应用程序来使用 Ruby 命令处理 PDF 文档。该库为轻松分析、修改或创建恶意 PDF 文件提供了支持。 Origami 还可以编写适合您需要的自己的 Ruby 脚本集。该库为使用 RC4 或 AES 的 PDF 文档加密提供了支持。该库非常快速且节省内存,用于审核 PDF。
Origami 非常易于使用,并包含与 PDF 文档操作相关的几个重要的基本和高级功能,例如,向 PDF 文档添加文件附件、创建新 PDF、向文档添加 JavaScript、PDF 文件加密和解密、创建 PDF具有数字签名、将 SWF 文件嵌入 PDF 文档、修改 PDF、编辑页面原始内容、向 PDF 添加样式、具有预测功能的压缩过滤器、PDF 注释支持等。
.
折纸入门
要在您的系统上安装 Origami,请运行以下命令。
使用 ruby gem 安装 Origami
gem install origami
通过 Ruby 库创建 PDF
开源 Ruby 库 Origami 使软件开发人员能够在自己的应用程序中生成和处理 PDF 文档。开发人员可以通过直接实例化新的 PDF 对象轻松地创建新的 PDF 文档。它支持几个重要功能,例如添加新页面、插入图像、添加 Flash 对象、将文档附加到 PDF、加密 PDF 文档等等。
通过 Ruby 库创建 PDF 文件
pdf = Origami::PDF.new
pdf.append_page
pdf.pages.first.write "Hello", size: 30
pdf.save("example.pdf")
# Another way of doing it
Origami::PDF.write("example.pdf") do |pdf|
pdf.append_page do |page|
page.write "Hello", size: 30
end
end
PDF 中的嵌入式 Flash SWF 文件
Origami Ruby 库允许软件开发人员以编程方式创建带有嵌入式 SWF 文件的 PDF 文档。在创建新的 PDF 文件时,您可以轻松地将 Flash 资源嵌入 PDF 文档中。之后还可以在页面上生成flash注解,可以设置播放器在页面上的位置。该库还支持向 PDF 文件添加或删除对象、将嵌入文件附加到 PDF、导出文档图形文件等等。
通过 Ruby 库创建 PDF 文件
# Embeding a Flash asset inside a PDF document.
SWF_PATH = File.join(__dir__, "helloworld.swf")
OUTPUT_FILE = "#{File.basename(__FILE__, ".rb")}.pdf"
# Creating a new file
pdf = PDF.new
# Embedding the SWF file into the PDF.
swf = pdf.attach_file(SWF_PATH)
# Creating a Flash annotation on the page.
pdf.append_page do |page|
annot = page.add_flash_application(swf,
windowed: true,
navigation_pane: true,
toolbar: true)
# Setting the player position on the page.
annot.Rect = Rectangle.new [204, 573, 403, 718]
end
pdf.save(OUTPUT_FILE)
puts "PDF file saved as #{OUTPUT_FILE}."
通过 Ruby 从 PDF 中提取数据
开源 Ruby 库 Origami 使软件开发人员能够使用 Ruby 命令从 PDF 中提取有价值的数据。该库提供了几个重要的功能,可帮助用户提取解码的流、JavaScript、文件附件等。它支持提取多种类型的数据,例如流、脚本、嵌入图像、提取元数据流、嵌入字体文件、附件等。
向现有 PDF 添加新页面和内容
使用 Ruby 脚本时使用 PDF 非常具有挑战性。通常需要向现有 PDF 文件添加新页面或内容。开源 Ruby 库 Origami 使软件开发人员能够在 PDF 文件中的特定位置插入页面,后者可以使用几行 Ruby 代码将图像、文本或徽标添加到现有 PDF 文件中。
通过 Ruby 将新页面或内容添加到 PDF 文件
# Add Content to PDF File via Ruby.
pdf = Origami::PDF.read(path)
contents = Origami::ContentStream.new
contents.write('some text', {
x: 200,
y: 200,
})
pdf.get_page(1).setContents([pdf.get_page(1).Contents, contents])
pdf.save(path)