1. 製品
  2.   PDF
  3.   C++
  4.   VersyPDF
 
  

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 機能を組み込む必要がある開発者にとって優れた選択肢です。

Previous Next

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;
}
 日本