PDFファイルを読み取り、書き込み、結合、暗号化できる無料のC++ PDF API。
CとC++向けのトップクラスのオープンソースC++ PDF生成ライブラリです。クロスプラットフォーム環境でPDFドキュメントを読み取り、作成、編集、操作、保護するためのフルセット機能を提供します。
VersyPDFライブラリとは?
ソフトウェア開発の世界では、PDF文書を生成・操作できることは一般的な要件です。VersyPDFは、PDFファイルの操作に必要な包括的なツールセットを提供する、強力なオープンソースのC++/Cライブラリです。複雑な文書管理システムを構築する場合でも、アプリケーションにPDFエクスポート機能を追加したいだけの場合でも、VersyPDFが対応します。このライブラリはテキスト、グラフィック、レイアウト、フォント、カラーに対して非常に細かい制御を可能にし、正確な出力が求められるアプリケーション(例:出版、文書自動生成)に適しています。また、PDFフォームの取り扱いに完全なソリューションを提供します。既存のフォームに入力したり、フォームフィールドの値を読み取ったり、さらにはゼロから新しいフォームフィールドを作成することもできます。
VersyPDF は、Sybrex Systems が開発した、C および C++ 用のオープンソースで業界レベルの PDF ライブラリです。その目的は、開発者にクロスプラットフォーム環境で PDF 文書を読み取り、作成、編集、操作、保護するための完全なツールセットを提供することです。豊富な機能セットを備えており、幅広い PDF 関連タスクに対応できる汎用的なソリューションとなっています。このライブラリは、PDF 文書の読み書き、コンテンツの作成と操作、画像の埋め込み、フォントとテキストの処理、カラーとグラフィックのサポート向上、ブックマークの作成・編集、PDF 暗号化サポート、PDF ファイルの最適化などをサポートします。包括的な機能と使いやすい API により、VersyPDF はアプリケーションに PDF 機能を組み込む必要がある開発者にとって優れた選択肢です。
VersyPDF の入門
VersyPDF をインストールする推奨方法は CMake を使用することです。スムーズなインストールのために、以下のコマンドをご利用ください。
GitHub から VersyPDF をインストールする
git clone https://github.com/sybrexsys/VersyPDF.git
手動でインストールすることもできます。最新のリリースファイルをGitHubリポジトリから直接ダウンロードしてください。
C++ で PDF ドキュメントを読み書きする
オープンソースのVersyPDFは、C++アプリケーション内で新しいPDFドキュメントの作成と既存のPDFの読み取りをサポートしています。ソフトウェア開発者は、ファイルやメモリバッファからPDFドキュメントをロードし、変更されたまたは新しいPDFをファイルやメモリに簡単に書き出すことができます。これにより、入力も出力も柔軟になります。以下の例は、C++コマンドを使用してテキストの単一ページを持つシンプルなPDFドキュメントを作成する方法を示しています。
PDFドキュメントの作成方法とC++ APIでページを追加する方法
#include "versypdf.h"
int main()
{
// Create a new PDF document
CPDFDocument doc;
doc.CreateNew();
// Add a new page
CPDFPage page = doc.AppendPage();
// Set the font and draw some text
page.BeginText();
page.SetFont("Helvetica", 12);
page.SetXY(100, 700);
page.ShowText("Hello, VersyPDF!");
page.EndText();
// Save the document to a file
doc.SaveToFile("hello.pdf");
return 0;
}
C++ APIでPDFに画像とフォントを追加
オープンソースのVersyPDFは、C++ APIを使用してPDFドキュメント内の画像やフォントを簡単に扱えるようにします。ライブラリはTIFF、JPEG、PNG、BMPなどの一般的な画像フォーマットの埋め込みをサポートしています。ラスタコンテンツ(例:写真、スキャン)を含めるのに非常に便利です。以下の例は、ソフトウェア開発者がC++アプリケーション内でJPEG画像をPDFドキュメントに埋め込む方法を示しています。
C++ アプリ内で JPEG 画像を PDF ドキュメントに埋め込む方法は?
#include "versypdf.h"
int main()
{
// Create a new PDF document
CPDFDocument doc;
doc.CreateNew();
// Add a new page
CPDFPage page = doc.AppendPage();
// Load an image from a file
CPDFImage image = doc.CreateImageFromFile("my_image.jpg");
// Draw the image on the page
page.DrawImage(image, 100, 500, 200, 150);
// Save the document to a file
doc.SaveToFile("image_example.pdf");
return 0;
}
C++ で PDF を結合し、ページを操作する
VersyPDF ライブラリは、さまざまな PDF ドキュメントをマージし、C++ ライブラリを介して PDF ドキュメント内のページを操作するための複数の機能を含んでいます。ライブラリは、数行のコードだけでページの回転、分割、マージ、追加、不要なページの削除をサポートしています。さらに、既存のページに新しいコンテンツを簡単に挿入または追加することも可能です。以下は、2 つの PDF ファイルをマージし、ブックマークを追加し、C++ アプリ内で暗号化を適用する方法を示す非常に有用な例です。
C++で2つのPDFを結合し、ブックマークを追加し、暗号化を適用する方法は?
#include "versypdf.h"
int main() {
// Load existing PDFs
VersyPDF::Document doc1, doc2;
doc1.LoadFromFile("document1.pdf");
doc2.LoadFromFile("document2.pdf");
// Merge
VersyPDF::Document merged = VersyPDF::Merge({ &doc1, &doc2 });
// Add a bookmark to first page
merged.AddBookmark("Start Here", /*pageIndex=*/0, /*destination=*/VersyPDF::Destination::FitPage);
// Apply encryption: 256-bit AES, require password to open
merged.SetSecurityHandler(VersyPDF::Security::AES256, /*ownerPwd=*/"ownerpass", /*userPwd=*/"userpass", /*permissions=*/VersyPDF::Permission::Print);
// Save
merged.Save("merged_encrypted.pdf");
return 0;
C++ で PDF フォームを扱う
オープンソースの VersyPDF ライブラリは、PDF フォームの操作に完全なソリューションを提供します。ライブラリには、ゼロから新しいフォームフィールドを作成する、既存のフォームに入力する、フォームフィールドの値を読み取るなど、フォーム処理のためのさまざまな機能が含まれています。以下は、ソフトウェア開発者が C++ を使用して単一のテキストフィールドを持つシンプルな PDF フォームに入力する方法を示す非常に有用な例です。
C++アプリで単一のテキストフィールドを持つシンプルなPDFフォームに入力する方法は?
#include "versypdf.h"
int main()
{
// Load an existing PDF document with a form
CPDFDocument doc;
doc.LoadFromFile("form.pdf");
// Get the form field by name
CPDFFormField field = doc.GetFormField("my_text_field");
// Set the value of the form field
field.SetValue("This is the new value");
// Save the modified document
doc.SaveToFile("form_filled.pdf");
return 0;
}