PDFツール

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

公開済み 2023年11月14日
共有:

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

PDF/Aの理解

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

この記事では、C++でQPDFライブラリを使用してPDFドキュメントをPDF/Aフォーマットに変換するプロセスをガイドします。 QPDF は強力な C++ ライブラリで、開発者はわずか数行のコードで PDF-to-PDF/A 変換を含む PDF 文書の管理と変換をプログラムで行うことができます。

QPDF C++ライブラリ

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

前提条件

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

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

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

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. 次に、Link タブで、Add ボタンをクリックし、libbin ディレクトリを含めます。

  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>
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>
C++

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

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

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

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

以下の二行は、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());
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());
C++

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

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

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

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

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

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

このコードは setQDFMode を使用してPDF/A準拠を設定します。(True)writer オブジェクトで。 write()関数は、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 ドキュメントページ.

IronPDFは、IronPDFの無料トライアル商用生産の機能をテストするために。 IronPDFをホームページから直接ダウンロードする.

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