PDFは、ドキュメントを共有および印刷するための最も一般的な形式です。多くの組織では、レポートを生成したり、他の公式ドキュメントを共有したりするための標準形式としてPDFを使用しています。場合によっては、ドキュメント、製品、または会社に関する特定のデータまたは情報をバーコード画像としてPDFドキュメントに埋め込む必要があります。 .NETアプリケーションでは、プログラムでPDFドキュメントに機械可読バーコード画像を追加できます。この記事では、C#を使用してPDFドキュメントにバーコードを追加する方法を学習します。
この記事は、次のトピックをカバーするものとします。
- PDFにバーコードを追加するC#API
- PDFドキュメントの作成とバーコードの追加
- 既存のPDFドキュメントにバーコードを追加する
- PDFドキュメントにQRコードを追加する
- 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にバーコード画像を追加できます。
- まず、EncodeTypeと引数としてエンコードするテキストを使用してBarcodeGeneratorクラスのインスタンスを作成します。
- 次に、メモリストリームオブジェクトのインスタンスを作成します
- 次に、Save()メソッドを呼び出して、バーコード画像をメモリストリームに保存します。
- 次に、Documentクラスのインスタンスを作成します。
- 次に、新しく作成したPDFドキュメントにページを追加します。
- 次に、PdfFileMendクラスのインスタンスを作成します。
- 次に、Documentオブジェクトを使用してBindPdf()メソッドを呼び出し、バインドします。
- 次に、ストリームオブジェクトと画像の位置座標を引数としてAddImage()メソッドを呼び出します。
- その後、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();
C#で既存のPDFドキュメントにバーコードを追加する
また、既存のPDFドキュメントの任意のページにバーコード画像を追加することもできます。 AddImage()メソッドを使用すると、PDFドキュメントの指定されたページに指定された座標で画像を追加できます。以下の手順に従って、既存のPDFドキュメントに画像を挿入できます。
- まず、EncodeTypeと引数としてエンコードするテキストを使用してBarcodeGeneratorクラスのインスタンスを作成します。
- 次に、メモリストリームオブジェクトのインスタンスを作成します
- 次に、Save()メソッドを呼び出して、バーコード画像をメモリストリームに保存します。
- 次に、Documentクラスを使用してPDFドキュメントをロードします。
- 次に、PdfFileMendクラスのインスタンスを作成します。
- 次に、Documentオブジェクトを使用してBindPdf()メソッドを呼び出し、バインドします。
- 次に、ストリームオブジェクト、ページ番号、画像の位置座標を引数としてAddImage()メソッドを呼び出します。
- その後、Save()メソッドを使用してPDFを保存します。出力PDFファイルパスを引数として取ります。
- 最後に、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ドキュメントに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ドキュメントからバーコードを読み取る
PdfExtractorクラスを使用して、PDFドキュメントの任意のページに埋め込まれているバーコード画像を認識できます。 PDFから画像を抽出し、抽出した画像からバーコード情報を読み取ります。以下の手順に従って、PDFドキュメントからバーコードを読み取ることができます。
- まず、PdfExtractorクラスのインスタンスを作成します。
- 次に、BindPdf()メソッドを使用して入力PDFドキュメントをバインドします。
- 次に、画像抽出のページ範囲を設定します。
- 次に、ExtractImage()メソッドを呼び出して画像を抽出します。
- 次に、画像を保存してループでストリーミングします。
- 次に、画像ストリームとDecodeTypeを引数として、BarCodeReaderクラスのインスタンスを作成します。
- その後、ReadBarCodes()メソッドを呼び出して、BarCodeResultオブジェクトを取得します。
- 最後に、バーコード情報を表示します。
次のコード例は、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について詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。