HTML から PDF を生成するためのオープンソース Ruby ライブラリ
開発者が HTML/CSS をレンダリングして高品質の PDF として出力できるようにする Ruby PDF API 。提供されたファイルまたは URL から PDF ドキュメントを生成します。
さまざまな種類の企業が、日常的にさまざまなドキュメントを作成しています。これらのドキュメントのほとんどには、保護が必要な非常に機密性の高いデータやプライベート データが含まれています。 Portable Document Format (PDF) は、Web 上で個人情報を共有しながら安全に保つための非常に便利で便利な方法です。 PDFKit は、ソフトウェア開発者がプレーンな HTML/CSS コードを使用して PDF ファイルを生成できるようにする、非常に便利な Ruby ライブラリです。
ライブラリは非常に使いやすく、WebKit を使用して HTML/CSS をレンダリングし、高品質の PDF として出力するバックエンドで wkhtmltopdf を使用します。このライブラリは非常に柔軟で、ユーザーは提供された URL から簡単に PDF ドキュメントを生成できます。ライブラリには、HTML コードからの PDF の生成、PDF の変更、PDF へのスタイルの追加、ヘッダーとフッターの挿入、表の改ページなど、PDF ドキュメントをレンダリングするための重要な機能がいくつか含まれています。
このライブラリは、アプリ内で PDF を作成する方法を制御するための多くのオプションをユーザーに提供しています。これらのオプションは、ページごとに設定できるだけでなく、グローバルに設定することもできます。ページで特別な名前のメタタグを使用して、ページの HTML を PDF にレンダリングする方法を制御できます。
.
PDFKitを始めよう
システムに PDFKit をインストールするには、次のコマンドを実行してください。
ruby gem で PDFKit をインストールする
gem install pdfkit
Ruby 経由で HTML から PDF を生成
オープン ソースの Ruby ライブラリ PDFKit を使用すると、ソフトウェア開発者は、独自のアプリケーション内の HTML コードから PDF ドキュメントを生成できます。 CSS を使用してさまざまな種類のスタイルをコードに適用し、そこから PDF ドキュメントを生成できます。ページのサイズも簡単に設定でき、デフォルトでは A4 サイズが使用されます。メタ タグを介してさまざまな種類のオプションを使用することもできます。ハッシュを使用して Web サイトをスクレイピングするために、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 ファイルを解析することもできます。特にインターネット経由で受信したデータや別のライブラリから受信したデータの場合、メモリからデータをロードすることは非常に効果的です。解析レンダリングと同様に、メモリまたはファイルに対しても実行できます。
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));