![](https://products-qa.fileformat.com/ja/pdf/ruby/hexapdf/header-image.png)
HexaPDF
PDF 処理用のオープンソース Ruby ライブラリ
PDF ドキュメントの作成と変更、PDF ファイルの結合、PDF のサイズの縮小、注釈の追加、オープン ソースの無料の Ruby ライブラリを介した画像とテキストの抽出。
Portable Document Format (PDF) は、ソフトウェア、ハードウェア、またはオペレーティング システムに依存しない電子形式でドキュメントを共有および表示するために使用できるマルチプラットフォーム ファイル形式です。 HexaPDF は、ソフトウェア開発者が Ruby コードを使用して PDF ドキュメントを操作するための強力なアプリケーションを作成できるようにするオープン ソースの PDF ライブラリです。これにより、開発者は最小限の労力でゼロから PDF ファイルを作成できます。
HexaPDF は、使いやすさとパフォーマンスの向上を目的として設計された純粋な Ruby ライブラリです。このライブラリには、PDF ドキュメントの生成と、既存の PDF のオープンと読み取り、既存の PDF ファイルの変更、メタ情報とテキストの抽出、PDF からの画像とファイルの抽出、PDF ファイルのマージ、PDF の暗号化または復号化などの操作に関連するいくつかの重要な機能が含まれています。ファイルのサイズを小さくするために PDF ファイルを最適化するなど、さまざまな機能があります。
ライブラリは、ヘッダー、段落、リンク、強調テキストなどの個々の要素のドキュメントを構成するための高レベル レイヤーを完全にサポートします。これらの要素は自動的に調整、カスタマイズされ、必要に応じて変更できます。追加の要素タイプを簡単に追加できます。
HexaPDF 入門
HexaPDF ライブラリをスムーズに使用するには、まずインストールが重要です。推奨されるインストール方法は、Rubygem を使用することです。次のコマンドを使用してください。
Rubygem を使用して HexaPDF をインストールする
$ gem install hexapdf
Ruby ライブラリを使用して新しい PDF を作成する
オープンソースの PDF ライブラリ HexaPDF は、Ruby コマンドをいくつか使用するだけで、ゼロから新しい PDF ドキュメントを作成するための完全な機能を提供します。 PDF を作成するには、空のドキュメント インスタンスが必要です。空の PDF ファイルが作成されると、そこに新しいページを追加したり、線、曲線、長方形を描いたり、テキストを挿入したり、色を適用したりできます。線のサイズを調整したり、さまざまな色や効果を線に適用したりすることもできます。
Ruby ライブラリを使用した PDF ファイルの作成
require 'hexapdf'
doc = HexaPDF::Document.new
canvas = doc.pages.add.canvas
canvas.font('Helvetica', size: 100)
canvas.text("Hello World!", at: [20, 400])
doc.write("hello_world.pdf", optimize: true)
Ruby 経由で PDF ファイルをマージする
無料の PDF ライブラリ HexaPDF を使用すると、ソフトウェア プログラマーは Ruby コードを使用して PDF ドキュメントを簡単に組み合わせることができます。 PDF ファイルの結合は、さまざまな方法で実行できます。簡単な方法の 1 つは、ソース ファイルからターゲット ファイルにページをインポートすることです。これにより、ページの内容が保持され、ファイルのマージにマージ コマンドを適用できます。より複雑なマージについては、HexaPDF バイナリ コマンドを使用してください。
HexaPDF を使用した PDF ファイルの結合
# imports pages of the source files into the target file. Preserves the page contents themselves.
require 'hexapdf'
target = HexaPDF::Document.new
ARGV.each do |file|
pdf = HexaPDF::Document.open(file)
pdf.pages.each {|page| target.pages << target.import(page)}
end
target.write("2.merging.pdf", optimize: true)
Ruby ライブラリを使用して PDF サイズを最適化する
オープンソースの PDF ライブラリ HexaPDF は、ソフトウェアの専門家が Ruby アプリケーション内の PDF ドキュメントのサイズを縮小するのに役立ちます。使用されていないオブジェクトや削除されたオブジェクトの削除、オブジェクト ストリームと相互参照ストリームの使用、ページ コンテンツ ストリームの再圧縮、フォントのサブセット設定、マージまたはオブジェクトなど、PDF のサイズを最適化するために使用できるさまざまな種類の手法があります。
Ruby 経由で PDF ファイルを読み込んで最適化する
// Optimize PDF Size
require 'hexapdf'
HexaPDF::Document.open(ARGV.shift) do |doc|
doc.task(:optimize, compact: true, object_streams: :generate,
compress_pages: false)
doc.write('optimizing.pdf')
end
PDF の暗号化と復号化のサポート
HexaPDF ライブラリを使用すると、開発者は Ruby コードを使用して暗号化を適用することで PDF ドキュメントを保護できます。 PDF には、コンテンツを暗号化し、使用権を割り当てることによってそれらを保護するためのサポートが組み込まれています。 PDF の暗号化中に、すべての文字列とバイト ストリームが暗号化され、メタデータ ストリームは除外されるため、PDF ファイルの解析中に抽出できます。そのため、PDF 文書を表示することに関心のある人は、パスワードを提供する必要があります。
Ruby 経由で PDF にデジタル署名を適用する
// Add Digital signatures to PDF
require 'hexapdf'
require HexaPDF.data_dir + '/cert/demo_cert.rb'
doc = HexaPDF::Document.open(ARGV[0])
doc.sign("signed.pdf", reason: 'Some reason',
certificate: HexaPDF.demo_cert.cert,
key: HexaPDF.demo_cert.key,
certificate_chain: [HexaPDF.demo_cert.sub_ca,
HexaPDF.demo_cert.root_ca])
end