1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C# .NET による PDF から PDF/A への変換

Last updated at Posted at 2025-09-29

企業の文書アーカイブ、政府機関の文書管理といった場面において、PDF から PDF/A への変換は長期的な可読性を確保する上で不可欠な工程となっています。しかし、従来の PDF 形式は長期的な安定性をサポートする仕組みに欠けているため、法規制の準拠要件を満たすことが難しいケースが多くあります。どのように効率的かつ正確に、一般的な PDF を ISO 19005-1 規格に適合した PDF/A 形式に変換できるのでしょうか? 本稿では、C# 環境で Spire.PDF for .NET を用いた PDF から PDF/A への変換方法を中心に、簡単かつ完結した変換手順を紹介します。

PDF を PDF/A に変換する必要性

PDF/A は長期保存を目的とした PDF 規格で、以下のコアメリットを備えています。

  • 外部フォントやリソースに依存しない、リソース非依存の保存をサポート
  • 長年経過しても内容が正しく表示されることを保証
  • ISO 19005-1 などの法規要件を満たし(金融、医療、政府機関の文書アーカイブなど)

⚠️ 課題:一般的な PDF は長期保存中に、フォントの欠落、画像の破損、暗号化の無効化などが発生し、情報の失われや劣化につながる可能性があります。PDF/A は「すべてのリソースを埋め込む」メカニズムにより、この問題を根本的に解決します。

Spire.PDF for .NET による変換:核心ステップ

Spire.PDF for .NET は高機能かつ軽量な .NET PDF 処理ライブラリで、C# 環境で PDF から PDF/A への変換をシームレスに実現できます。以下に主要な実装フローを示します。

1. NuGet パッケージのインストール

Install-Package Spire.PDF

または Visual Studio の NuGet パッケージマネージャーから「Spire.PDF」を検索し、インストールすることも可能です。

2. PDF から PDF/A への変換コード

基本的な変換ロジックは非常に簡単で、核心となるのは PdfStandardsConverter クラスです。同クラスは PDF/A の規格準拠チェックと形式変換のロジックを内包しています。

2.1 基本例:PDF/A-1B への変換(最も汎用的)

using System;
using Spire.Pdf.Conversion;

namespace ConvertPdf2Pdfa
{
    class Program
    {
        static void Main(string[] args)
        {
            // 入力 PDF ファイルのパスを指定
            String inputFile = @"C:\Users\Administrator\Desktop\sample.pdf";

            // 出力フォルダを指定
            String outputFolder = @"C:\Users\Administrator\Desktop\Output\";

            // PdfStandardsConverter のインスタンスを作成し、入力ファイルを読み込み
            PdfStandardsConverter converter = new PdfStandardsConverter(inputFile);

            // PDF/A-1B 形式に変換
            converter.ToPdfA1B(outputFolder + "ToPdfA1B.pdf");
        }
    }
}

2.2 他の PDF/A バージョンへの切り替え

PDF/A-2B、PDF/A-3B など他のバージョンに変換する場合は、対応するメソッドを呼び出すだけで実現できます。

// PDF/A-1A への変換(1Bより厳格で、構造化された内容を要求)
converter.ToPdfA1A(outputFolder + "ToPdfA1A.pdf");

// PDF/A-2A への変換
converter.ToPdfA2A(outputFolder + "ToPdfA2A.pdf");
            
// PDF/A-3A への変換
converter.ToPdfA3A(outputFolder + "ToPdfA3A.pdf");

// PDF/A-2B への変換(JPEG 2000圧縮をサポートし、ファイルサイズを削減)
converter.ToPdfA2B(outputFolder + "ToPdfA2B.pdf");

// PDF/A-3B への変換(Excel・Wordなどの外部ファイルの埋め込みをサポートし、元データ付随の場面に適し)
converter.ToPdfA3B(outputFolder + "ToPdfA3B.pdf");

ToPDFA.png

変換結果の確認:PDF/A 準拠性の検証

変換完了後、出力ファイルが真に PDF/A 準拠しているかを確認するため、以下の2つの簡易的な方法を推奨します。

方法 1:Adobe Acrobat による検証

  • Acrobat で変換後のファイルを開き
  • 右ペインで「ツール」→「印刷制作」→「プレフライト」を選択
  • プレフライトで「PDF/A 準拠チェック」を選択して実行し、「エラーなし」と表示されれば準拠しています

方法 2:オンラインツールによる検証
無料のオンライン検証ツールを使用する場合は、ファイルをアップロードした後「PDF/A-1B」などのバージョンを選択し、ワンクリックで準拠性を確認できます。


Spire.PDF for .NET を活用すると、数行のコードで PDF から PDF/A への変換を実現でき、複数の PDF/A バージョンに対応しています。政府機関、金融機関、医療機関など、長期アーカイブが必要な場面に最適なツールと言えます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?