PDFツール

C++でPDFをPDFAに変換する方法

更新済み 11月 14, 2023
共有:

ポータブルドキュメントフォーマット (PDF) さまざまなプラットフォームでドキュメントを共有するための定番フォーマットとなっています。 しかし、デジタルアーカイブの重要性が高まるにつれて、長期的な保存およびアクセスを確保する標準化された形式で文書をアーカイブする必要性が増しています。 PDF/A (PDFA) フォーマットはこの目的のために特別に設計されており、アーカイブに適した安定した、自己完結型のフォーマットを提供しています。

PDF/Aの理解

PDF/Aは、文書の内容のアクセシビリティと一貫性を維持しながら、長期間にわたって文書を保存するために設計されたISO標準化されたPDFバリアントです。 通常のPDFファイルとは対照的に、PDF/Aファイルには、その堅牢性と自律性を保証する特定の制限があります。

この記事では、C++でQPDFライブラリを使用してPDFドキュメントをPDF/Aフォーマットに変換するプロセスをガイドします。 QPDFは、強力なC++ライブラリで、開発者がプログラムによってPDF文書を管理および変換することを可能にします。数行のコードでPDFからPDF/Aへの変換も行えます。

QPDF C++ライブラリ

QPDF は、PDFファイルを扱い、変換し、解析するために設計されたC++ライブラリとコマンドラインツールです。 開発者がPDFファイルのコンテンツにプログラムでアクセスおよび操作できるようにし、ワードをサポートします。 QPDF は、暗号化、復号化、線形化、最適化、および PDF/A 準拠を含む幅広い機能を提供するオープンソースプロジェクトです。

前提条件

始める前に、以下の設定が整っていることを確認してください:

  1. Code::Blocks IDE: 公式ウェブサイトからCode::Blocksをダウンロードしてインストールします (http://www.codeblocks.org/).

  2. QPDFライブラリ: ご使用のオペレーティングシステムに対応した最新バージョンのQPDFライブラリをQPDFのウェブサイトからダウンロードしてください。 (https://qpdf.sourceforge.io/).

PDFからPDF/Aプロジェクトを作成

  1. コード::ブロックスを開く: コンピュータでCode::Blocks IDEを起動します。

  2. 新しいプロジェクトの作成: 上部メニューでファイルをクリックし、次に新規を選択し、プロジェクトを選びます。

  3. プロジェクトのタイプを選択: テンプレートから新規 ウィンドウで、コンソールアプリケーション を選択し、Go をクリックします。 C/C++ 言語を選択して、次へ をクリックしてください。

  4. プロジェクトの詳細を入力: プロジェクトタイトル フィールドにプロジェクト名を入力してください。 (PDFtoPDFA). プロジェクトファイルの保存場所を選択し、「次へ」をクリックします。

  5. コンパイラを選択: コンパイラを選択し、必要に応じてリストから手動で選択してください。完了をクリックします。

プロジェクトにQPDFを追加

Code::BlocksにQPDFヘッダーファイルを含めるには、以下の手順に従ってください:

  1. メニューで Project をクリックします。

  2. コンテキストメニューからビルドオプションを選択します。

  3. ビルドオプションダイアログで、検索ディレクトリタブに移動します。

  4. Compilerタブで、Addボタンをクリックし、QPDFヘッダーファイルを含むディレクトリを参照します。 (通常はincludeフォルダーにあります).

  5. リンクタブで、追加ボタンをクリックし、libおよびbinディレクトリを含めます。

  6. [ビルド オプション] ダイアログを閉じるには [OK] をクリックします。

    さらに、リンクフェーズ中にQPDFライブラリとの接続を確立する必要があります。 以下の手順に従ってください:

  7. ビルドオプションダイアログで、リンカー設定タブに移動してください。

  8. リンクライブラリの下で、追加をクリックし、次にQPDFライブラリファイルがあるディレクトリを参照してください。 (Windowsでは通常.aまたは.libファイル拡張子を持ちます。).

  9. もう一度追加をクリックし、QPDFライブラリの名前を入力します。 (例: libqpdf.a または qpdf.lib).

  10. [ビルド オプション] ダイアログを閉じるには [OK] をクリックします。

PDFをPDF/Aファイルに変換する手順

必要なヘッダーファイルを含める

#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

このコードは、C++の標準入力/出力を扱うために必要なヘッダーファイルを組み込んでいます。 (iostream(アイオーストリーム)) およびQPDFライブラリ。

入力ファイルと出力ファイルのパスを設定する

メイン関数内 (C++プログラムの開始点)入力ファイルと出力ファイルのパスを設定します:

std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

以下の二行は、std::string型の二つの変数を宣言し初期化しています。 これらの行は、入力のための変数を宣言し、初期化します。 (「input.pdf」) そしてPDF/Aを出力 (「output.pdfa」) パス。

入力ファイル

入力ファイルは編集可能なフォームです。

C++でPDFをPDF/Aに変換する方法: 図1

PDFファイルのためにQPDFオブジェクトを作成

QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

input_pdf という名前の QPDF オブジェクトが作成されます。 processFile 関数は、引数として入力ファイルのパスを渡して input_pdf オブジェクトで使用されます。

PDF/Aファイルを書き込むためのQPDFWriterオブジェクトを作成する

QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

QPDFWriterオブジェクト、writerが出力PDF/Aファイルを書き込むために作成されます。

PDF/A準拠を設定し、PDFドキュメントを変換する

writer.setQDFMode(true);
writer.write();

このコードは setQDFMode を使用してPDF/A準拠を設定します。(True)writer オブジェクトで。 write()` function はPDFドキュメントの変換を行い、出力をPDF/Aファイルに保存します。

出力

出力ファイルは編集不可で、PDF/A準拠です。

C++でPDFをPDF/Aに変換する方法:図2

C#でPDFをPDF/Aに変換

IronPDF は、PDFドキュメントを扱うための包括的な機能を提供する.NET PDFライブラリです。 これは、開発者がC#またはVB.NETを使用してPDFドキュメントを作成、修正、および変換することを可能にします。 ユーザーは、HTML、ASPX、WordドキュメントからPDFファイルを生成するためにIronPDFを使用できます。 (.doc)または、動的に画像を追加し、チャート、表、画像などのリッチな要素を組み込む (JPGやPNG形式) データ。 また、既存のPDFファイルのページの結合、分割、および編集、さらにはPDFデータのテキスト抽出やコンテンツ操作も可能にします。

IronPDFは変換を容易にします PDF を PDF/A-3b に変換 標準はわずか数行のコードで。 以下のコードはこのタスクを達成するのに役立ちます:

using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
Imports IronPdf

' Create a PdfDocument object or open any PDF file
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
VB   C#

結論

この記事では、QPDFライブラリを使用して標準PDFドキュメントをPDF/A形式に変換するC++コードを紹介します。 PDF/A準拠は、コンテンツの保存とアクセスの確保を保証するため、アーカイブに最適です。

IronPDFは、HTML、画像、Wordドキュメントなどの多様な形式のPDFファイルへの変換もサポートしています。 詳細については、こちらをご覧ください サイト.

IronPDFは、 無料試用 商用生産の機能をテストするために。 ソフトウェアは次の場所からダウンロードできます これ.

< 以前
Android 搭載のスマートフォンで PDF ファイルを表示する方法
次へ >
PDFファイルにページ番号を追加する方法

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >