C#を使用してPDFにバーコードを追加する

PDFは、ドキュメントを共有および印刷するための最も一般的な形式です。多くの組織では、レポートを生成したり、他の公式ドキュメントを共有したりするための標準形式としてPDFを使用しています。場合によっては、ドキュメント、製品、または会社に関する特定のデータまたは情報をバーコード画像としてPDFドキュメントに埋め込む必要があります。 .NETアプリケーションでは、プログラムでPDFドキュメントに機械可読バーコード画像を追加できます。この記事では、C#を使用してPDFドキュメントにバーコードを追加する方法を学習します。

この記事は、次のトピックをカバーするものとします。

PDFにバーコードを追加するC#API

PDFドキュメントにバーコードを追加するには、2段階の手順に従います。まず、Aspose.PDF for .NET APIを使用してPDFドキュメントを作成またはロードし、次に[Aspose.BarCode for.NET][を使用してバーコード画像を生成してPDFに追加します。 3]API。 APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.PDF

PDFドキュメントを作成し、C#でバーコードを追加します

以下の手順に従って、新しいPDFドキュメントを作成し、PDFにバーコード画像を追加できます。

  1. まず、EncodeTypeと引数としてエンコードするテキストを使用してBarcodeGeneratorクラスのインスタンスを作成します。
  2. 次に、メモリストリームオブジェクトのインスタンスを作成します
  3. 次に、Save()メソッドを呼び出して、バーコード画像をメモリストリームに保存します。
  4. 次に、Documentクラスのインスタンスを作成します。
  5. 次に、新しく作成したPDFドキュメントにページを追加します。
  6. 次に、PdfFileMendクラスのインスタンスを作成します。
  7. 次に、Documentオブジェクトを使用してBindPdf()メソッドを呼び出し、バインドします。
  8. 次に、ストリームオブジェクトと画像の位置座標を引数としてAddImage()メソッドを呼び出します。
  9. その後、Save()メソッドを使用してPDFを保存します。出力PDFファイルパスを引数として取ります。 10.最後に、Close()メソッドを呼び出して、PdfFileMendオブジェクトを閉じます。

次のコード例は、C#を使用して新しいPDFドキュメントを作成し、バーコード画像を追加する方法を示しています。

// このコード例は、バーコード画像をPDFに追加する方法を示しています。
// ドキュメントディレクトリへのパス。
string dataDir = @"D:\Files\BarCode\";

// 線形バーコードオブジェクトをインスタンス化し、バーコードのコードテキストとシンボルタイプを設定します
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// メモリストリームを作成し、バーコード画像をメモリストリームに保存します
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// PDFドキュメントを作成し、ドキュメントにページを追加します
Document doc = new Document();
doc.Pages.Add();

// ドキュメントを開く
PdfFileMend mender = new PdfFileMend();

// PDFをバインドしてバーコードを追加します
mender.BindPdf(doc);

// PDFファイルにバーコード画像を追加する
mender.AddImage(ms, 1, 100, 600, 200, 700);

// 変更内容を保存
mender.Save(dataDir + "AddImage_out.pdf");

// PdfFileMendオブジェクトを閉じます
mender.Close();
PDFドキュメントを作成し、C#でバーコードを追加します。

PDFドキュメントを作成し、C#でバーコードを追加します。

C#で既存のPDFドキュメントにバーコードを追加する

また、既存のPDFドキュメントの任意のページにバーコード画像を追加することもできます。 AddImage()メソッドを使用すると、PDFドキュメントの指定されたページに指定された座標で画像を追加できます。以下の手順に従って、既存のPDFドキュメントに画像を挿入できます。

  1. まず、EncodeTypeと引数としてエンコードするテキストを使用してBarcodeGeneratorクラスのインスタンスを作成します。
  2. 次に、メモリストリームオブジェクトのインスタンスを作成します
  3. 次に、Save()メソッドを呼び出して、バーコード画像をメモリストリームに保存します。
  4. 次に、Documentクラスを使用してPDFドキュメントをロードします。
  5. 次に、PdfFileMendクラスのインスタンスを作成します。
  6. 次に、Documentオブジェクトを使用してBindPdf()メソッドを呼び出し、バインドします。
  7. 次に、ストリームオブジェクト、ページ番号、画像の位置座標を引数としてAddImage()メソッドを呼び出します。
  8. その後、Save()メソッドを使用してPDFを保存します。出力PDFファイルパスを引数として取ります。
  9. 最後に、Close()メソッドを呼び出して、PdfFileMendオブジェクトを閉じます。

次のコード例は、C#を使用して既存のPDFドキュメントにバーコード画像を追加する方法を示しています。

// このコード例は、既存のPDFにバーコード画像を追加する方法を示しています。
// ドキュメントディレクトリへのパス。
string dataDir = @"D:\Files\BarCode\";

// 線形バーコードオブジェクトをインスタンス化し、バーコードのコードテキストとシンボルタイプを設定します
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// メモリストリームを作成し、バーコード画像をメモリストリームに保存します
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// PDFドキュメントをロードする
Document doc = new Document(dataDir + "sample.pdf");

// ドキュメントを開く
PdfFileMend mender = new PdfFileMend();

// PDFをバインドしてバーコード画像を追加
mender.BindPdf(doc);

// PDFファイルにバーコード画像を追加する
mender.AddImage(ms, 1, 70, 0, 200, 600);

// 変更内容を保存
mender.Save(dataDir + "Sample_out.pdf");

// PdfFileMendオブジェクトを閉じます
mender.Close();
C#の既存のPDFドキュメントにバーコードを追加します。

C#の既存のPDFドキュメントにバーコードを追加します。

C#でPDFドキュメントにQRコードを追加する

同様に、前述の手順に従って、PDFドキュメントにQRコードを追加することもできます。ただし、最初のステップでEncodeTypeをQRとして設定する必要があります。手順7で画像の位置を調整する必要がある場合もあります。

次のコード例は、C#を使用してPDFドキュメントにQRコードを追加する方法を示しています。

// このコード例は、既存のPDFにQRコードを追加する方法を示しています。
// ドキュメントディレクトリへのパス。
string dataDir = @"D:\Files\BarCode\";

// 線形バーコードオブジェクトをインスタンス化し、バーコードのコードテキストとシンボルタイプを設定します
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// メモリストリームを作成し、バーコード画像をメモリストリームに保存します
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// PDFドキュメントをロードする
Document doc = new Document(dataDir + "sample.pdf");

// ドキュメントを開く
PdfFileMend mender = new PdfFileMend();

// PDFをバインドしてバーコード画像を追加
mender.BindPdf(doc);

// PDFファイルにQR画像を追加する
mender.AddImage(ms, 1, 0, 650, 200, 780);

// 変更内容を保存
mender.Save(dataDir + "Sample_QR_out.pdf");

// PdfFileMendオブジェクトを閉じます
mender.Close();
C#のPDFドキュメントにQRコードを追加します。

C#のPDFドキュメントにQRコードを追加します。

C#を使用してPDFドキュメントからバーコードを読み取る

PdfExtractorクラスを使用して、PDFドキュメントの任意のページに埋め込まれているバーコード画像を認識できます。 PDFから画像を抽出し、抽出した画像からバーコード情報を読み取ります。以下の手順に従って、PDFドキュメントからバーコードを読み取ることができます。

  1. まず、PdfExtractorクラスのインスタンスを作成します。
  2. 次に、BindPdf()メソッドを使用して入力PDFドキュメントをバインドします。
  3. 次に、画像抽出のページ範囲を設定します。
  4. 次に、ExtractImage()メソッドを呼び出して画像を抽出します。
  5. 次に、画像を保存してループでストリーミングします。
  6. 次に、画像ストリームとDecodeTypeを引数として、BarCodeReaderクラスのインスタンスを作成します。
  7. その後、ReadBarCodes()メソッドを呼び出して、BarCodeResultオブジェクトを取得します。
  8. 最後に、バーコード情報を表示します。

次のコード例は、C#を使用してPDFドキュメントからバーコード画像を読み取る方法を示しています。

// このコード例は、PDFからバーコードを読み取る方法を示しています
// ドキュメントディレクトリへのパス。
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// PDFドキュメントをバインドする
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// 画像抽出のページ範囲を設定する
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// 画像を抽出する
pdfExtractor.ExtractImage();

// 画像を保存してループでストリーミング
while (pdfExtractor.HasNextImage())
{
  // 画像を保存してストリーミング
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // 上の画像ストリームからバーコードを認識します
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: 1234567
Symbology: Code39Standard

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにライブラリを試すことができます。

結論

この記事では、次の方法を学びました。

  • プログラムでPDFドキュメントを作成します。
  • バーコード画像を生成してC#でPDFに追加します。
  • C#を使用してPDFドキュメントから画像を抽出します。
  • PDFドキュメントからバーコード画像を読み取ります。

さらに、ドキュメントを使用して、Aspose.BarCode for.NET APIについて詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目