ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
OCRは「光学文字認識」を意味します。 これは、紙の書類や画像を読み取り可能なテキストに変換するプロセスです。 これを行うためには、スキャンやキーボードを使った手動入力などの様々な方法があります。 これは、スキャンされたファイル、PDF、または手書きのドキュメントを元のテキスト形式に変換するために行われます。 このプロセスは、手動での転記ができないほど損傷した文書をスキャンしてOCRソフトウェアで解釈できる場合、刑事事件において非常に貴重であることが証明されています。
技術の進歩とデジタルツールの普及に伴い、OCRはGoogle Docsのようなアプリでのドキュメント変換の他、学術界やビジネスの世界でも導入されています。 2つの主要なOCRの種類があります、「静的」と「動的」です。 最も一般的なタイプは静的OCRで、これはドキュメント全体が一度にスキャンされる方式です。 一方、動的OCRは一度に1行をスキャンし、表形式のデータなどのより洗練されたレイアウトを処理することができます。
この記事では、OCRおよびPDFに関する最も普及しているアプリケーションとドキュメントライブラリの2つを比較します。 これらは:
(As per the guideline, keeping this branded term in English)
PDFTron SDKでOCRを使用するには、別途OCRモジュールのアドオンユーティリティをインストールする必要があります。 これは、SDKがドキュメントからテキストを検出するのに役立ちます。 それはテキストを選択可能および検索可能にすることができます。 PDFTron SDKは最大100言語をサポートしています。 PDFTron OCRエンジンは、TesseractのオープンソースLSTMニューラルネットワークによってサポートされています。 PDFTron OCRは、テキスト検出のために複数の画像形式をサポートしています。 ラスタ画像のみのPDFファイルもOCRで受け付けられ、出力品質は入力画像に依存します。 OCRに最適な画像は、300 DPIの解像度を持つグレースケール画像です。
Iron Softwareは、.NETアプリケーションやウェブサイトで写真やPDFからテキスト内容を読み取るためのIronOCR for .NETをソフトウェアエンジニアに提供します。 このソフトウェアは写真をスキャンしてテキストやバーコードを認識し、多数の世界言語に対応し、プレーンテキストまたは構造化データとして出力します。 Iron SoftwareのOCRライブラリは、Web、コンソール、MVC、および多数の.NETデスクトップアプリケーションで利用できます。 商用デプロイの場合、購入したライセンスに加えて、開発チームからの直接支援が提供されます。
Visual Studioを開き、ファイルメニューに移動します。 新規プロジェクトを選択し、次にコンソールアプリケーションを選択します。 PDFドキュメントを生成するために、この記事ではコンソールアプリケーションを使用します。
プロジェクト名を入力し、適切なテキストボックスにファイルパスを選択してください。 次に、Create ボタンをクリックします。 また、必要な.NETフレームワークを選択してください。
Visual Studioプロジェクトは、選択したアプリケーションの構造を生成します。
プロジェクトの構造は現在、Visual Studioによって生成されます。 Windows、コンソール、およびウェブアプリケーションを選択した場合、program.csファイルが開き、コードを入力してアプリケーションをビルド/実行することができます。
次のステップとして、コードをテストするためにライブラリを追加する必要があります。
PDFTron OCRのインストールは手動で行われ、指定されたリンクからzipファイルをダウンロードできます。 リンク. プロジェクトに解凍して設定します。 このガイドは、Windowsを使用して.NET FrameworkアプリケーションにPDFTron SDKの無料統合トライアルを実行する際に、PDFTronのサンプルを実行するのに役立ちます。 無料体験には、ソリューションエンジニアからのサポートと無制限のトライアル使用が含まれています。
Visual Studio: インストールに.NET デスクトップ開発および.NET Framework 4.5.1+ 開発ツールワークロードが含まれていることを確認してください。 このガイドでは、Visual Studio 2017と、PDFTronのC# .NET PDFライブラリ for Windowsを使用します。 このリンクからライブラリをダウンロードしてください。 .NET PDF SDK ダウンロード.
.zipファイルからフォルダーを抽出します。このガイドでは、抽出したフォルダーへのパスを選択するためにPDFNET_BASEを使用します。
PDFNET_BASE = path/to/extraction/folder/PDFNetDotNet4/
PDFNET_BASE = path/to/extraction/folder/PDFNetDotNet4/
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PDFNET_BASE = path/@to/extraction/folder/PDFNetDotNet4/
抽出されたコンテンツの場所に移動します。 サンプルフォルダを見つけて入力してください(PDFNET_BASE/サンプル). このフォルダには、PDFTron SDKがサポートする機能のサンプルコードが多数含まれています。
Visual StudioでSamples_20XX.slnを開きます。 Visual Studio のインストールに適したバージョンを選択してください。
サンプルコードを選択し スタートアッププロジェクトとして設定する ソリューションをご利用ください。
これは「PDFTron Hello World」アプリケーションと呼ばれます。 PDF ドキュメントを開いて保存し、閉じることができれば、残りの PDFTron SDK を簡単に統合することができます。
Visual Studioで、お好みのプログラミング言語を使用して.NET Frameworkコンソールアプリケーションプロジェクトを作成します。 Visual C# または Visual Basic のカテゴリで見つけることができます。
プロジェクトのフォルダーに移動します。 デフォルトでは、パスは次のようになります:C:/Users/User_Name/source/repos/myApp
PDFNET_BASEからあなたのプロジェクトフォルダへ(このフォルダーには、.csprojまたは.vbprojファイルが含まれています。)Libフォルダをコピーします。
右側のソリューションエクスプローラーを見つけてください。参照を右クリックして「参照の追加」オプションを選択してください。 これにより、参照マネージャーのダイアログが開きます。
ダイアログの下部にある「Browse」を選択します。 Libフォルダーにコピーした「PDFNetLoader.dll」を参照に追加します
さらに、x86フォルダから適切なバージョンのPDFNet.dllを別の参照として追加してください。(path/to/your/project/folder/Lib/PDFNet/x86/PDFNet.dll). これは、アプリケーションが32ビットおよび64ビットOSの両方で実行されることを保証します。
IronOCRライブラリは4つの方法でインストールできます。
これらは:
3.2.1 Visual Studioの使用
Visual Studioソフトウェアには、NuGetパッケージマネージャーオプションを使用してパッケージを直接ソリューションにインストールする機能があります。 このスクリーンショットは、NuGetパッケージマネージャーを開く方法を示しています。
以下は、NuGetウェブサイトからパッケージのリストを表示する検索ボックスです。パッケージマネージャーで、「IronOCR」というキーワードで検索する必要があります。以下のスクリーンショットのように行ってください。
上記の画像から、関連する検索結果のリストが表示されているのがわかります。 パッケージをソリューションにインストールするには、必要なオプションを選択する必要があります。
Install-Package IronOcr もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
パッケージは現在のプロジェクトに直接インストールされ、その後すぐに使用できるようになります。
以下の第三の方法として、NuGetパッケージをウェブサイトから直接ダウンロードできます。
ウェブサイトからこのリンクをクリックして、最新のパッケージを直接ダウンロードできます。リンク. 最新のパッケージをダウンロードしたら、プロジェクトにパッケージを追加するための指示に従ってください。
IronOCRとPDFtron OCRの両方には、画像をテキスト検索に変換するOCR技術があります。
PDFをDOCX、DOC、HTML、SVG、TIFF、PNG、JPEG、XPS、EPUB、TXT、およびその他多数の形式に変換する。
鉄道ソフトウェアの製品であるIronPDFを使用すると、高品質のPDF文書を効果的に生成および操作できます。IronPDF for .NETは使いやすいAPIを提供し、開発者がPDFファイルをプログラム内で作成、編集、および出力するための多数の機能を持っています。
主な機能には、以下が含まれます:
- HTMLからPDFへの変換
- 標準およびカスタムフォントのサポート
- PDFの結合および分割
- テキスト抽出および検索
- PDFのセキュリティ設定、パスワード保護
IronPDFは、さまざまな開発環境に統合しやすく、効率的なPDFソリューションを提供します。
鉄道ソフトウェアの製品であるIronPDFを使用すると、高品質のPDF文書を効果的に生成および操作できます。IronPDF for .NETは使いやすいAPIを提供し、開発者がPDFファイルをプログラム内で作成、編集、および出力するための多数の機能を持っています。
主な機能には、以下が含まれます:
- HTMLからPDFへの変換
- 標準およびカスタムフォントのサポート
- PDFの結合および分割
- テキスト抽出および検索
- PDFのセキュリティ設定、パスワード保護
IronPDFは、さまざまな開発環境に統合しやすく、効率的なPDFソリューションを提供します。
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'鉄道ソフトウェアの製品であるIronPDFを使用すると、高品質のPDF文書を効果的に生成および操作できます。IronPDF for.NETは使いやすいAPIを提供し、開発者がPDFファイルをプログラム内で作成、編集、および出力するための多数の機能を持っています。 主な機能には、以下が含まれます: - HTMLからPDFへの変換 - 標準およびカスタムフォントのサポート - PDFの結合および分割 - テキスト抽出および検索 - PDFのセキュリティ設定、パスワード保護 IronPDFは、さまざまな開発環境に統合しやすく、効率的なPDFソリューションを提供します。
PDFDoc doc = new PDFDoc(ファイル名);
// PDFドキュメントをSVGに変換
Convert.ToSvg(doc、output_filename + ".svg");
// PDFドキュメントをXPSに変換
Convert.ToXps(ファイル名、出力ファイル名 + ".xps");
// PDFドキュメントを複数ページTIFFに変換
Convert.TiffOutputOptions tiff_options = new Convert.TiffOutputOptions();
tiff_options.SetDPI(200);
tiff_options.SetDither(True);
tiff_options.SetMono(True);
Convert.ToTiff(ファイル名, 出力ファイル名 + ".tiff", tiffオプション);
// PDFをXODに変換
Convert.ToXod(ファイル名, output_filename + ".xod");
PDFをHTMLに変換
Convert.ToHtml(ファイル名, 出力ファイル名 + ".html"); もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("3.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using
上記は、Tesseract 5 APIを使用して画像ファイルをテキストに変換するプロセスを示しています。 上記のコード行はIron Tesseractのオブジェクトを作成するために使用されました。 さらに、1つ以上の画像ファイルを追加できるようにするために、利用可能な画像パスが必要なOcrInputオブジェクトを生成しました。 Iron Tesseract オブジェクトでは、関数「Read」を使用して画像ファイルを解析し、生成された結果をOCR結果として取得することができます。 それは写真からテキストを抽出し、文字列に変換することができます。
Tesseractは、このプロセスのために "AddMultiFrameTiff" メソッドを使用してマルチフレーム画像を追加することができます。 画像内の各フレームは、Tesseractライブラリによって個別のページとして読み取られ、処理されます。 画像の各フレームは、次のフレームに進む前に読み取られ、すべてのフレームが正常にスキャンされるまで続行します。 このメソッドでサポートされている唯一の形式はTIFF画像形式です。
データを編集可能なテキストへと変換することに成功した結果が上記の画像に表示されています。これは、IronOCRの高精度の結果です。
IronOCRとPDFTron OCRは、PDFファイルを編集可能なテキストに変換します。 PDFTron OCRは、ページの保存、画像の編集、ページの認識など、ユーザーにさまざまなオプションを提供します。さらに、文書、テキスト、HTML形式などの保存オプションも提供できます。IronOCRは、変換されたOCRファイルをHTML、テキスト、PDFなどに保存することもできます。
完全なサンプルコードは、PDF、XPS、EMF、SVG、TIFF、PNG、JPEG、およびその他の画像フォーマット間で直接高品質に変換するためにPDFTron OCRをどのように使用するかを示しています。
// Copyright (c) 2001-2021 by PDFTron Systems Inc. All Rights Reserved.
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using pdftron;
using pdftron.Common;
using pdftron.Filters;
using pdftron.SDF;
using pdftron.PDF;
// The following code showcases the conversion of documents to formats // such as SVG, PDF, EMF, or XPS.
namespace ConvertTestCS
{
class Testfile
{
public string inputFile, outputFile;
public bool requiresWindowsPlatform;
public Testfile(string inFile, string outFile, bool requiresWindowsPlatform_)
{
inputFile = inFile;
outputFile = outFile;
requiresWindowsPlatform = requiresWindowsPlatform_;
}
};
class Class1
{
private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
static Class1() {}
// Relative path to the folder containing test files.
const string inputPath = "../../../../TestFiles/";
const string outputPath = "../../../../TestFiles/Output/";
static bool ConvertSpecificFormats()
{
bool err = false;
try
{
using (PDFDoc pdfdoc = new PDFDoc())
{
Console.WriteLine("Converting from XPS");
pdftron.PDF.Convert.FromXps(pdfdoc, inputPath + "simple-xps.xps");
pdfdoc.Save(outputPath + "xps2pdf v2.pdf", SDFDoc.SaveOptions.e_remove_unused);
Console.WriteLine("Saved xps2pdf v2.pdf");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
/////////////////////////////////////////////
if (Environment.OSVersion.Platform == PlatformID.Win32NT) {
try
{
using (PDFDoc pdfdoc = new PDFDoc())
{
Console.WriteLine("Converting from EMF");
pdftron.PDF.Convert.FromEmf(pdfdoc, inputPath + "simple-emf.emf");
pdfdoc.Save(outputPath + "emf2pdf v2.pdf", SDFDoc.SaveOptions.e_remove_unused);
Console.WriteLine("Saved emf2pdf v2.pdf");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
}
///////////////////////////////////////////
try
{
using (PDFDoc pdfdoc = new PDFDoc())
{
// Add a dictionary
ObjSet set = new ObjSet();
Obj options = set.CreateDict();
// Put options
options.PutNumber("FontSize", 15);
options.PutBool("UseSourceCodeFormatting", true);
options.PutNumber("PageWidth", 12);
options.PutNumber("PageHeight", 6);
// Convert from .txt file
Console.WriteLine("Converting from txt");
pdftron.PDF.Convert.FromText(pdfdoc, inputPath + "simple-text.txt", options);
pdfdoc.Save(outputPath + "simple-text.pdf", SDFDoc.SaveOptions.e_remove_unused);
Console.WriteLine("Saved simple-text.pdf");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
///////////////////////////////////////////
try
{
using (PDFDoc pdfdoc = new PDFDoc(inputPath + "newsletter.pdf"))
{
// Convert PDF document to SVG
Console.WriteLine("Converting pdfdoc to SVG");
pdftron.PDF.Convert.ToSvg(pdfdoc, outputPath + "pdf2svg v2.svg");
Console.WriteLine("Saved pdf2svg v2.svg");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
/////////////////////////////////////////////////
try
{
// Convert PNG image to XPS
Console.WriteLine("Converting PNG to XPS");
pdftron.PDF.Convert.ToXps(inputPath + "butterfly.png", outputPath + "butterfly.xps");
Console.WriteLine("Saved butterfly.xps");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
///////////////////////////////////////////
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
try
{
// Convert MSWord document to XPS
Console.WriteLine("Converting DOCX to XPS");
pdftron.PDF.Convert.ToXps(inputPath + "simple-word_2007.docx", outputPath + "simple-word_2007.xps");
Console.WriteLine("Saved simple-word_2007.xps");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
}
////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to XPS
Console.WriteLine("Converting PDF to XPS");
pdftron.PDF.Convert.ToXps(inputPath + "newsletter.pdf", outputPath + "newsletter.xps");
Console.WriteLine("Saved newsletter.xps");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
//////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to HTML
Console.WriteLine("Converting PDF to HTML");
pdftron.PDF.Convert.ToHtml(inputPath + "newsletter.pdf", outputPath + "newsletter");
Console.WriteLine("Saved newsletter as HTML");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
//////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to EPUB
Console.WriteLine("Converting PDF to EPUB");
pdftron.PDF.Convert.ToEpub(inputPath + "newsletter.pdf", outputPath + "newsletter.epub");
Console.WriteLine("Saved newsletter.epub");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
/////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to multipage TIFF
Console.WriteLine("Converting PDF to multipage TIFF");
pdftron.PDF.Convert.TiffOutputOptions tiff_options = new pdftron.PDF.Convert.TiffOutputOptions();
tiff_options.SetDPI(200);
tiff_options.SetDither(true);
tiff_options.SetMono(true);
pdftron.PDF.Convert.ToTiff(inputPath + "newsletter.pdf", outputPath + "newsletter.tiff", tiff_options);
Console.WriteLine("Saved newsletter.tiff");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
return err;
}
static Boolean ConvertToPdfFromFile()
{
System.Collections.ArrayList testfiles = new System.Collections.ArrayList();
testfiles.Add(new ConvertTestCS.Testfile("simple-word_2007.docx", "docx2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-powerpoint_2007.pptx", "pptx2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-excel_2007.xlsx", "xlsx2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-publisher.pub", "pub2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("simple-text.txt", "txt2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-rtf.rtf", "rtf2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("butterfly.png", "png2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-emf.emf", "emf2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("simple-xps.xps", "xps2pdf.pdf", false));
// testfiles.Add(new ConvertTestCS.Testfile("simple-webpage.mht", "mht2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("simple-webpage.html", "html2pdf.pdf", true));
bool err = false;
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
try
{
if (pdftron.PDF.Convert.Printer.IsInstalled("PDFTron PDFNet"))
{
pdftron.PDF.Convert.Printer.SetPrinterName("PDFTron PDFNet");
}
else if (!pdftron.PDF.Convert.Printer.IsInstalled())
{
try
{
Console.WriteLine("Installing printer (requires Windows platform and administrator)");
pdftron.PDF.Convert.Printer.Install();
Console.WriteLine("Installed printer " + pdftron.PDF.Convert.Printer.GetPrinterName());
// the function ConvertToXpsFromFile may require the printer so leave it installed
// uninstallPrinterWhenDone = true;
}
catch (PDFNetException e)
{
Console.WriteLine("ERROR: Unable to install printer.");
Console.WriteLine(e.Message);
err = true;
}
catch
{
Console.WriteLine("ERROR: Unable to install printer. Make sure that the package's bitness matches your operating system's bitness and that you are running with administrator privileges.");
}
}
}
catch (PDFNetException e)
{
Console.WriteLine("ERROR: Unable to install printer.");
Console.WriteLine(e.Message);
err = true;
}
}
foreach (Testfile file in testfiles)
{
if ( Environment.OSVersion.Platform != PlatformID.Win32NT)
{
if (file.requiresWindowsPlatform)
{
continue;
}
}
try
{
using (pdftron.PDF.PDFDoc pdfdoc = new PDFDoc())
{
if (pdftron.PDF.Convert.RequiresPrinter(inputPath + file.inputFile))
{
Console.WriteLine("Using PDFNet printer to convert file " + file.inputFile);
}
pdftron.PDF.Convert.ToPdf(pdfdoc, inputPath + file.inputFile);
pdfdoc.Save(outputPath + file.outputFile, SDFDoc.SaveOptions.e_linearized);
Console.WriteLine("Converted file: " + file.inputFile);
Console.WriteLine("to: " + file.outputFile);
}
}
catch (PDFNetException e)
{
Console.WriteLine("ERROR: on input file " + file.inputFile);
Console.WriteLine(e.Message);
err = true;
}
}
return err;
}
[STAThread]
static void Main(string [] args)
{
PDFNet.Initialize(PDFTronLicense.Key);
bool err = false;
err = ConvertToPdfFromFile();
if (err)
{
Console.WriteLine("ConvertFile failed");
}
else
{
Console.WriteLine("ConvertFile succeeded");
}
err = ConvertSpecificFormats();
if (err)
{
Console.WriteLine("ConvertSpecificFormats failed");
}
else
{
Console.WriteLine("ConvertSpecificFormats succeeded");
}
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
if (pdftron.PDF.Convert.Printer.IsInstalled())
{
try
{
Console.WriteLine("Uninstalling printer (requires Windows platform and administrator)");
pdftron.PDF.Convert.Printer.Uninstall();
Console.WriteLine("Uninstalled Printer " + pdftron.PDF.Convert.Printer.GetPrinterName());
}
catch
{
Console.WriteLine("Unable to uninstall printer");
}
}
}
PDFNet.Terminate();
Console.WriteLine("Done.");
}
}
}
// Copyright (c) 2001-2021 by PDFTron Systems Inc. All Rights Reserved.
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using pdftron;
using pdftron.Common;
using pdftron.Filters;
using pdftron.SDF;
using pdftron.PDF;
// The following code showcases the conversion of documents to formats // such as SVG, PDF, EMF, or XPS.
namespace ConvertTestCS
{
class Testfile
{
public string inputFile, outputFile;
public bool requiresWindowsPlatform;
public Testfile(string inFile, string outFile, bool requiresWindowsPlatform_)
{
inputFile = inFile;
outputFile = outFile;
requiresWindowsPlatform = requiresWindowsPlatform_;
}
};
class Class1
{
private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
static Class1() {}
// Relative path to the folder containing test files.
const string inputPath = "../../../../TestFiles/";
const string outputPath = "../../../../TestFiles/Output/";
static bool ConvertSpecificFormats()
{
bool err = false;
try
{
using (PDFDoc pdfdoc = new PDFDoc())
{
Console.WriteLine("Converting from XPS");
pdftron.PDF.Convert.FromXps(pdfdoc, inputPath + "simple-xps.xps");
pdfdoc.Save(outputPath + "xps2pdf v2.pdf", SDFDoc.SaveOptions.e_remove_unused);
Console.WriteLine("Saved xps2pdf v2.pdf");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
/////////////////////////////////////////////
if (Environment.OSVersion.Platform == PlatformID.Win32NT) {
try
{
using (PDFDoc pdfdoc = new PDFDoc())
{
Console.WriteLine("Converting from EMF");
pdftron.PDF.Convert.FromEmf(pdfdoc, inputPath + "simple-emf.emf");
pdfdoc.Save(outputPath + "emf2pdf v2.pdf", SDFDoc.SaveOptions.e_remove_unused);
Console.WriteLine("Saved emf2pdf v2.pdf");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
}
///////////////////////////////////////////
try
{
using (PDFDoc pdfdoc = new PDFDoc())
{
// Add a dictionary
ObjSet set = new ObjSet();
Obj options = set.CreateDict();
// Put options
options.PutNumber("FontSize", 15);
options.PutBool("UseSourceCodeFormatting", true);
options.PutNumber("PageWidth", 12);
options.PutNumber("PageHeight", 6);
// Convert from .txt file
Console.WriteLine("Converting from txt");
pdftron.PDF.Convert.FromText(pdfdoc, inputPath + "simple-text.txt", options);
pdfdoc.Save(outputPath + "simple-text.pdf", SDFDoc.SaveOptions.e_remove_unused);
Console.WriteLine("Saved simple-text.pdf");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
///////////////////////////////////////////
try
{
using (PDFDoc pdfdoc = new PDFDoc(inputPath + "newsletter.pdf"))
{
// Convert PDF document to SVG
Console.WriteLine("Converting pdfdoc to SVG");
pdftron.PDF.Convert.ToSvg(pdfdoc, outputPath + "pdf2svg v2.svg");
Console.WriteLine("Saved pdf2svg v2.svg");
}
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
/////////////////////////////////////////////////
try
{
// Convert PNG image to XPS
Console.WriteLine("Converting PNG to XPS");
pdftron.PDF.Convert.ToXps(inputPath + "butterfly.png", outputPath + "butterfly.xps");
Console.WriteLine("Saved butterfly.xps");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
///////////////////////////////////////////
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
try
{
// Convert MSWord document to XPS
Console.WriteLine("Converting DOCX to XPS");
pdftron.PDF.Convert.ToXps(inputPath + "simple-word_2007.docx", outputPath + "simple-word_2007.xps");
Console.WriteLine("Saved simple-word_2007.xps");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
}
////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to XPS
Console.WriteLine("Converting PDF to XPS");
pdftron.PDF.Convert.ToXps(inputPath + "newsletter.pdf", outputPath + "newsletter.xps");
Console.WriteLine("Saved newsletter.xps");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
//////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to HTML
Console.WriteLine("Converting PDF to HTML");
pdftron.PDF.Convert.ToHtml(inputPath + "newsletter.pdf", outputPath + "newsletter");
Console.WriteLine("Saved newsletter as HTML");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
//////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to EPUB
Console.WriteLine("Converting PDF to EPUB");
pdftron.PDF.Convert.ToEpub(inputPath + "newsletter.pdf", outputPath + "newsletter.epub");
Console.WriteLine("Saved newsletter.epub");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
/////////////////////////////////////////////////////////////////////
try
{
// Convert PDF document to multipage TIFF
Console.WriteLine("Converting PDF to multipage TIFF");
pdftron.PDF.Convert.TiffOutputOptions tiff_options = new pdftron.PDF.Convert.TiffOutputOptions();
tiff_options.SetDPI(200);
tiff_options.SetDither(true);
tiff_options.SetMono(true);
pdftron.PDF.Convert.ToTiff(inputPath + "newsletter.pdf", outputPath + "newsletter.tiff", tiff_options);
Console.WriteLine("Saved newsletter.tiff");
}
catch (PDFNetException e)
{
Console.WriteLine(e.Message);
err = true;
}
return err;
}
static Boolean ConvertToPdfFromFile()
{
System.Collections.ArrayList testfiles = new System.Collections.ArrayList();
testfiles.Add(new ConvertTestCS.Testfile("simple-word_2007.docx", "docx2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-powerpoint_2007.pptx", "pptx2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-excel_2007.xlsx", "xlsx2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-publisher.pub", "pub2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("simple-text.txt", "txt2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-rtf.rtf", "rtf2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("butterfly.png", "png2pdf.pdf", false));
testfiles.Add(new ConvertTestCS.Testfile("simple-emf.emf", "emf2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("simple-xps.xps", "xps2pdf.pdf", false));
// testfiles.Add(new ConvertTestCS.Testfile("simple-webpage.mht", "mht2pdf.pdf", true));
testfiles.Add(new ConvertTestCS.Testfile("simple-webpage.html", "html2pdf.pdf", true));
bool err = false;
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
try
{
if (pdftron.PDF.Convert.Printer.IsInstalled("PDFTron PDFNet"))
{
pdftron.PDF.Convert.Printer.SetPrinterName("PDFTron PDFNet");
}
else if (!pdftron.PDF.Convert.Printer.IsInstalled())
{
try
{
Console.WriteLine("Installing printer (requires Windows platform and administrator)");
pdftron.PDF.Convert.Printer.Install();
Console.WriteLine("Installed printer " + pdftron.PDF.Convert.Printer.GetPrinterName());
// the function ConvertToXpsFromFile may require the printer so leave it installed
// uninstallPrinterWhenDone = true;
}
catch (PDFNetException e)
{
Console.WriteLine("ERROR: Unable to install printer.");
Console.WriteLine(e.Message);
err = true;
}
catch
{
Console.WriteLine("ERROR: Unable to install printer. Make sure that the package's bitness matches your operating system's bitness and that you are running with administrator privileges.");
}
}
}
catch (PDFNetException e)
{
Console.WriteLine("ERROR: Unable to install printer.");
Console.WriteLine(e.Message);
err = true;
}
}
foreach (Testfile file in testfiles)
{
if ( Environment.OSVersion.Platform != PlatformID.Win32NT)
{
if (file.requiresWindowsPlatform)
{
continue;
}
}
try
{
using (pdftron.PDF.PDFDoc pdfdoc = new PDFDoc())
{
if (pdftron.PDF.Convert.RequiresPrinter(inputPath + file.inputFile))
{
Console.WriteLine("Using PDFNet printer to convert file " + file.inputFile);
}
pdftron.PDF.Convert.ToPdf(pdfdoc, inputPath + file.inputFile);
pdfdoc.Save(outputPath + file.outputFile, SDFDoc.SaveOptions.e_linearized);
Console.WriteLine("Converted file: " + file.inputFile);
Console.WriteLine("to: " + file.outputFile);
}
}
catch (PDFNetException e)
{
Console.WriteLine("ERROR: on input file " + file.inputFile);
Console.WriteLine(e.Message);
err = true;
}
}
return err;
}
[STAThread]
static void Main(string [] args)
{
PDFNet.Initialize(PDFTronLicense.Key);
bool err = false;
err = ConvertToPdfFromFile();
if (err)
{
Console.WriteLine("ConvertFile failed");
}
else
{
Console.WriteLine("ConvertFile succeeded");
}
err = ConvertSpecificFormats();
if (err)
{
Console.WriteLine("ConvertSpecificFormats failed");
}
else
{
Console.WriteLine("ConvertSpecificFormats succeeded");
}
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
if (pdftron.PDF.Convert.Printer.IsInstalled())
{
try
{
Console.WriteLine("Uninstalling printer (requires Windows platform and administrator)");
pdftron.PDF.Convert.Printer.Uninstall();
Console.WriteLine("Uninstalled Printer " + pdftron.PDF.Convert.Printer.GetPrinterName());
}
catch
{
Console.WriteLine("Unable to uninstall printer");
}
}
}
PDFNet.Terminate();
Console.WriteLine("Done.");
}
}
}
' Copyright (c) 2001-2021 by PDFTron Systems Inc. All Rights Reserved.
Imports System
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports pdftron
Imports pdftron.Common
Imports pdftron.Filters
Imports pdftron.SDF
Imports pdftron.PDF
' The following code showcases the conversion of documents to formats // such as SVG, PDF, EMF, or XPS.
Namespace ConvertTestCS
Friend Class Testfile
Public inputFile, outputFile As String
Public requiresWindowsPlatform As Boolean
Public Sub New(ByVal inFile As String, ByVal outFile As String, ByVal requiresWindowsPlatform_ As Boolean)
inputFile = inFile
outputFile = outFile
requiresWindowsPlatform = requiresWindowsPlatform_
End Sub
End Class
Friend Class Class1
Private Shared pdfNetLoader As pdftron.PDFNetLoader = pdftron.PDFNetLoader.Instance()
Shared Sub New()
End Sub
' Relative path to the folder containing test files.
Private Const inputPath As String = "../../../../TestFiles/"
Private Const outputPath As String = "../../../../TestFiles/Output/"
Private Shared Function ConvertSpecificFormats() As Boolean
Dim err As Boolean = False
Try
Using pdfdoc As New PDFDoc()
Console.WriteLine("Converting from XPS")
pdftron.PDF.Convert.FromXps(pdfdoc, inputPath & "simple-xps.xps")
pdfdoc.Save(outputPath & "xps2pdf v2.pdf", SDFDoc.SaveOptions.e_remove_unused)
Console.WriteLine("Saved xps2pdf v2.pdf")
End Using
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'///////////////////////////////////////////
If Environment.OSVersion.Platform = PlatformID.Win32NT Then
Try
Using pdfdoc As New PDFDoc()
Console.WriteLine("Converting from EMF")
pdftron.PDF.Convert.FromEmf(pdfdoc, inputPath & "simple-emf.emf")
pdfdoc.Save(outputPath & "emf2pdf v2.pdf", SDFDoc.SaveOptions.e_remove_unused)
Console.WriteLine("Saved emf2pdf v2.pdf")
End Using
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
End If
'/////////////////////////////////////////
Try
Using pdfdoc As New PDFDoc()
' Add a dictionary
Dim [set] As New ObjSet()
Dim options As Obj = [set].CreateDict()
' Put options
options.PutNumber("FontSize", 15)
options.PutBool("UseSourceCodeFormatting", True)
options.PutNumber("PageWidth", 12)
options.PutNumber("PageHeight", 6)
' Convert from .txt file
Console.WriteLine("Converting from txt")
pdftron.PDF.Convert.FromText(pdfdoc, inputPath & "simple-text.txt", options)
pdfdoc.Save(outputPath & "simple-text.pdf", SDFDoc.SaveOptions.e_remove_unused)
Console.WriteLine("Saved simple-text.pdf")
End Using
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'/////////////////////////////////////////
Try
Using pdfdoc As New PDFDoc(inputPath & "newsletter.pdf")
' Convert PDF document to SVG
Console.WriteLine("Converting pdfdoc to SVG")
pdftron.PDF.Convert.ToSvg(pdfdoc, outputPath & "pdf2svg v2.svg")
Console.WriteLine("Saved pdf2svg v2.svg")
End Using
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'///////////////////////////////////////////////
Try
' Convert PNG image to XPS
Console.WriteLine("Converting PNG to XPS")
pdftron.PDF.Convert.ToXps(inputPath & "butterfly.png", outputPath & "butterfly.xps")
Console.WriteLine("Saved butterfly.xps")
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'/////////////////////////////////////////
If Environment.OSVersion.Platform = PlatformID.Win32NT Then
Try
' Convert MSWord document to XPS
Console.WriteLine("Converting DOCX to XPS")
pdftron.PDF.Convert.ToXps(inputPath & "simple-word_2007.docx", outputPath & "simple-word_2007.xps")
Console.WriteLine("Saved simple-word_2007.xps")
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
End If
'//////////////////////////////////////////////////////////////////
Try
' Convert PDF document to XPS
Console.WriteLine("Converting PDF to XPS")
pdftron.PDF.Convert.ToXps(inputPath & "newsletter.pdf", outputPath & "newsletter.xps")
Console.WriteLine("Saved newsletter.xps")
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'////////////////////////////////////////////////////////////////////
Try
' Convert PDF document to HTML
Console.WriteLine("Converting PDF to HTML")
pdftron.PDF.Convert.ToHtml(inputPath & "newsletter.pdf", outputPath & "newsletter")
Console.WriteLine("Saved newsletter as HTML")
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'////////////////////////////////////////////////////////////////////
Try
' Convert PDF document to EPUB
Console.WriteLine("Converting PDF to EPUB")
pdftron.PDF.Convert.ToEpub(inputPath & "newsletter.pdf", outputPath & "newsletter.epub")
Console.WriteLine("Saved newsletter.epub")
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
'///////////////////////////////////////////////////////////////////
Try
' Convert PDF document to multipage TIFF
Console.WriteLine("Converting PDF to multipage TIFF")
Dim tiff_options As New pdftron.PDF.Convert.TiffOutputOptions()
tiff_options.SetDPI(200)
tiff_options.SetDither(True)
tiff_options.SetMono(True)
pdftron.PDF.Convert.ToTiff(inputPath & "newsletter.pdf", outputPath & "newsletter.tiff", tiff_options)
Console.WriteLine("Saved newsletter.tiff")
Catch e As PDFNetException
Console.WriteLine(e.Message)
err = True
End Try
Return err
End Function
Private Shared Function ConvertToPdfFromFile() As Boolean
Dim testfiles As New System.Collections.ArrayList()
testfiles.Add(New ConvertTestCS.Testfile("simple-word_2007.docx", "docx2pdf.pdf", False))
testfiles.Add(New ConvertTestCS.Testfile("simple-powerpoint_2007.pptx", "pptx2pdf.pdf", False))
testfiles.Add(New ConvertTestCS.Testfile("simple-excel_2007.xlsx", "xlsx2pdf.pdf", False))
testfiles.Add(New ConvertTestCS.Testfile("simple-publisher.pub", "pub2pdf.pdf", True))
testfiles.Add(New ConvertTestCS.Testfile("simple-text.txt", "txt2pdf.pdf", False))
testfiles.Add(New ConvertTestCS.Testfile("simple-rtf.rtf", "rtf2pdf.pdf", True))
testfiles.Add(New ConvertTestCS.Testfile("butterfly.png", "png2pdf.pdf", False))
testfiles.Add(New ConvertTestCS.Testfile("simple-emf.emf", "emf2pdf.pdf", True))
testfiles.Add(New ConvertTestCS.Testfile("simple-xps.xps", "xps2pdf.pdf", False))
' testfiles.Add(new ConvertTestCS.Testfile("simple-webpage.mht", "mht2pdf.pdf", true));
testfiles.Add(New ConvertTestCS.Testfile("simple-webpage.html", "html2pdf.pdf", True))
Dim err As Boolean = False
If Environment.OSVersion.Platform = PlatformID.Win32NT Then
Try
If pdftron.PDF.Convert.Printer.IsInstalled("PDFTron PDFNet") Then
pdftron.PDF.Convert.Printer.SetPrinterName("PDFTron PDFNet")
ElseIf Not pdftron.PDF.Convert.Printer.IsInstalled() Then
Try
Console.WriteLine("Installing printer (requires Windows platform and administrator)")
pdftron.PDF.Convert.Printer.Install()
Console.WriteLine("Installed printer " & pdftron.PDF.Convert.Printer.GetPrinterName())
' the function ConvertToXpsFromFile may require the printer so leave it installed
' uninstallPrinterWhenDone = true;
Catch e As PDFNetException
Console.WriteLine("ERROR: Unable to install printer.")
Console.WriteLine(e.Message)
err = True
Catch
Console.WriteLine("ERROR: Unable to install printer. Make sure that the package's bitness matches your operating system's bitness and that you are running with administrator privileges.")
End Try
End If
Catch e As PDFNetException
Console.WriteLine("ERROR: Unable to install printer.")
Console.WriteLine(e.Message)
err = True
End Try
End If
For Each file As Testfile In testfiles
If Environment.OSVersion.Platform <> PlatformID.Win32NT Then
If file.requiresWindowsPlatform Then
Continue For
End If
End If
Try
Using pdfdoc As pdftron.PDF.PDFDoc = New PDFDoc()
If pdftron.PDF.Convert.RequiresPrinter(inputPath & file.inputFile) Then
Console.WriteLine("Using PDFNet printer to convert file " & file.inputFile)
End If
pdftron.PDF.Convert.ToPdf(pdfdoc, inputPath & file.inputFile)
pdfdoc.Save(outputPath & file.outputFile, SDFDoc.SaveOptions.e_linearized)
Console.WriteLine("Converted file: " & file.inputFile)
Console.WriteLine("to: " & file.outputFile)
End Using
Catch e As PDFNetException
Console.WriteLine("ERROR: on input file " & file.inputFile)
Console.WriteLine(e.Message)
err = True
End Try
Next file
Return err
End Function
<STAThread>
Shared Sub Main(ByVal args() As String)
PDFNet.Initialize(PDFTronLicense.Key)
Dim err As Boolean = False
err = ConvertToPdfFromFile()
If err Then
Console.WriteLine("ConvertFile failed")
Else
Console.WriteLine("ConvertFile succeeded")
End If
err = ConvertSpecificFormats()
If err Then
Console.WriteLine("ConvertSpecificFormats failed")
Else
Console.WriteLine("ConvertSpecificFormats succeeded")
End If
If Environment.OSVersion.Platform = PlatformID.Win32NT Then
If pdftron.PDF.Convert.Printer.IsInstalled() Then
Try
Console.WriteLine("Uninstalling printer (requires Windows platform and administrator)")
pdftron.PDF.Convert.Printer.Uninstall()
Console.WriteLine("Uninstalled Printer " & pdftron.PDF.Convert.Printer.GetPrinterName())
Catch
Console.WriteLine("Unable to uninstall printer")
End Try
End If
End If
PDFNet.Terminate()
Console.WriteLine("Done.")
End Sub
End Class
End Namespace
PDFファイルの管理は、OCRInput機能を使用して完了できます。 ドキュメント内のすべてのページは、Iron Tesseractクラスによって読み取られます。 テキストはその後、ページから抽出されます。 「AddPDF」と呼ばれる2番目の関数は、保護されたドキュメントを開くことを可能にし、ドキュメントのリストにPDFを追加できるようにします。(パスワードで保護されている場合). パスワードで保護されたPDFドキュメントを開くには、以下のコードスニペットを使用してください:
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput()
Input.AddPdf("example.pdf", "password")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
PDFファイルの1ページから内容を読み取って抽出するには、「Addpdfpage」関数を利用します。 抽出したいテキストのページ番号のみを指定してください。 "AddPdfPage" は、指定した複数のページからテキストを抽出できるようにします。 IEnumerable
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single page
Input.AddPdfPage("example.pdf",10);
//Multiple page
Input.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single page
Input.AddPdfPage("example.pdf",10);
//Multiple page
Input.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
Dim numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
'single page
Input.AddPdfPage("example.pdf",10)
'Multiple page
Input.AddPdfPages("example.pdf", numbers)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using
SaveAsTextFile機能を使用して、結果をテキストファイル形式で直接保存し、出力ディレクトリパスにファイルを直接ダウンロードできます。 ファイルをHTML形式で保存するには、SaveAsHocrFileを使用してください。
PDFファイルから画像を抽出し、それらの位置情報とDPIも取得するために、PDFTron SDKを使用できます。 PDF画像をビットマップに変換する代わりに、elements.GetImageDataを使用して非圧縮/圧縮画像データを直接抽出することもできます。() (PDFデータ抽出コードサンプルで説明されています). C# PDFライブラリおよびPDF解析とコンテンツ抽出ライブラリについて詳しく学ぶ
IronOCRには、スキャンされたドキュメントから直接QRコードやバーコードを読み取ることができる素晴らしい機能が数多く備わっています。 以下のコードスニペットは、指定された画像やドキュメントからバーコードをスキャンする方法を示しています。
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("barcode.gif")
Dim Result = Ocr.Read(Input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
上記のコードは、指定された画像またはPDFドキュメントからバーコードを読み取るのに役立ちます。 1つの画像またはページ内で同時に多数のバーコードを読み取ることができます。 IronOCRには、バーコードを読み取る独自のメソッドがあり、それはOcr.Configuration.ReadBarCodesです。
データは入力をスキャンした後、OCRResultというオブジェクトに格納されます。 OCRResultのプロパティはBarcodesと呼ばれ、利用可能なバーコードデータのリストが含まれます。 各バーコードの詳細に関連する個々のデータを取得するために、for-eachループを利用できます。一つのプロセスで二つの操作が完了します—バーコードの値のスキャンと読み取り。
スレッドオプションのサポートも利用可能であり、複数のOCRプロセスを同時に完了することができます。さらに、IronOCRは指定された領域から正確なエリアを認識することができます。
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
上記のコードスニペットは、特定の領域でOCRを実行する方法を示しています。 PDFや画像の長方形の領域を指定するだけで、IronOCRのTesseractエンジンがテキスト認識を補助します。
30日間返金保証: ライセンスを購入すると、30日間返金保証が適用されます。 30日以内に製品を返品したい場合、全額返金いたします。
簡単な統合: IronOCRの統合は非常に簡単で、プロジェクトや環境に1行のコードを追加するだけで達成できます。NuGetパッケージ。 一方、別の方法として、環境を統合するにはウェブから直接ダウンロードする方法もあります。
永続ライセンス: 購入した各ライセンスは更新を必要としません。
無料サポートと製品更新:すべてのライセンスには、製品の背後にいるグループからの直接サポートがあり、1年間の無料製品更新が付いてきます。 拡張機能の購入はいつでも可能です。
即時ライセンス: 支払いが確認されると、登録済みのライセンスキーが即座に送信されます。
すべてのライセンスは永続的であり、開発、ステージング、および運用に適用されます。
永久ライセンス
このパッケージは、組織内の単一のソフトウェア開発者が一箇所でIron Softwareを利用することを可能にします。 Iron Softwareは、単一のイントラネットアプリケーション、ウェブアプリケーション、またはデスクトップソフトウェアプログラムで利用することができます。 ライセンスは譲渡不可のため、組織または代理店/クライアント関係の外で共有することは禁止されています。 このライセンスタイプは、他のすべてのライセンスタイプと同様に、契約に明示的に付与されていないすべての権利を明示的に除外しています。OEMの再配布および追加の適用範囲を購入しないでIron SoftwareをSaaSとして利用することもこれに含まれます。
価格: 1年間あたり$liteLicenseから始まります。
永久ライセンス
このライセンスにより、組織内の決められた数のソフトウェア開発者が最大10か所までの多数の場所でIron Softwareを利用することができます。 Iron Softwareは、好きなだけ多くのウェブサイト、イントラネットアプリケーション、またはデスクトップソフトウェアアプリケーションで使用できます。ライセンスは譲渡不可であり、組織外または代理店/クライアント関係外で共有することはできません。このライセンスタイプは、他のすべてのライセンスタイプと同様に、契約の下で明示的に付与されていないすべての権利を明示的に除外し、OEMの再配布や追加のカバレッジを購入せずにSaaSとしてIron Softwareを利用することを含みます。 このライセンスは、最大10個の単一プロジェクトに統合することができます。
価格: 1年間につき$999から。
永久ライセンス
これは、組織内の無制限の数のソフトウェア開発者が無制限の場所でIron Softwareを利用できることを許可します。 Iron Software は、イントラネットアプリケーション、デスクトップソフトウェアアプリケーション、およびウェブサイトに自由に使用できます。ライセンスは譲渡不可であり、組織外またはエージェンシー/クライアントの関係外で共有することはできません。このライセンスタイプ(すべての他のライセンスタイプと同様に)は、OEM再配布や追加カバレッジを購入しないでIron SoftwareをSaaSとして利用することを含む、契約で承認されていないすべての権利を明示的に除外します。
価格: 年間 $5,999 から。
ロイヤリティフリーの再配布 — これは、Iron Softwareを異なる形式でパッケージ化された複数の商用製品の一部として配布することを可能にします。(ロイヤリティを支払う必要がなく)ベースライセンスでカバーされるプロジェクトの数に基づいて。 これは、ベースライセンスでカバーされるプロジェクト数に基づいて、SaaSソフトウェアサービス内でIron Softwareを導入できるようにします。
価格: 年間1,599ドルから。
コンサルティングおよびトレーニングサービス
PDFTronカスタムライセンスは、あなたのアプリケーションおよびビジネス要件に合わせて調整されています。 価格は、機能の範囲によって異なります。
IronOCR Liteライセンスは、1年間のサポート付きの一人の開発者を含む未定義のパッケージで、費用は約 $749 です。 IronOCRのプロフェッショナルライセンスには10開発者パッケージと1年間のサポートが含まれており、費用は$999です。一方、PDFTronのパッケージは不明です。 パッケージを購入するには、サポートセンターに連絡して見積もりを取得する必要があります。
IronOCRのLiteおよびProfessionalパッケージには、5年間のサポートオプション付きでOEMまたはSaaSサービスが含まれています。 Liteバージョンには、5年間のサポートとSaasおよびOEMサービスを含む1開発者パッケージが含まれており、カスタマイズされたサポートオプションで$2,897かかります。 IronOCR Professional バージョンには、10人の開発者パッケージと5年間のサポート、Saas、およびOEMサービスが含まれており、価格は$3,397です。PDFTronの10人の開発者パッケージには1年間のサポート、Saas、およびOEMサービスが含まれていますが、定められた価格はありません。
.NET FrameworkのコンテキストにおけるIronOCRは、写真やPDFドキュメントのサポートを提供する使いやすいTesseractを供給します。このサポートは多様な方法で実現されます。 また、Tesseract OCRライブラリのパフォーマンスを向上させるためのいくつかの設定も提供しています。 さまざまな言語がサポートされており、1回の操作で多数の言語を使用することが可能です。 彼らのウェブサイトを訪れてTesseract OCRに関する詳細を学んでください。
PDFTronは、画像やPDFドキュメントを認識するために異なるエンジンを使用するソフトウェアアプリケーションです。 OCRプロセスのパフォーマンスを向上させるためのさまざまな設定や複数の言語を選択するためのオプションも提供しています。 PDFTronにはページ変換の使用に制限があります。 また、異なるオペレーティングシステムに対して様々な価格設定があります。
IronOCRは競争力のあるソフトウェア製品であり、競合ブランドよりも高い精度を提供できます。 類似の製品は低品質の画像を認識できず、未知の文字が発生することがあります。 一方、IronOCRは正確な結果を提供するだけでなく、バーコードデータの認識や画像からバーコードの値を読み取ることも可能にします。
IronOCR パッケージは、すべてのプラットフォームで競争力のあるライセンスおよびサポートを単一価格で提供します。 比較すると、PDFtronのOCR製品はすべてカスタム選択されており、より高価になる傾向があります。価格は両製品で異なり、IronOCRの価格は$749から始まりますが、カスタム選択のため、PDFtronの開始価格は未定義です。 結論として、IronOCRはより低価格でより多様な機能を提供します。
では、何を待っているのですか? 無料トライアルはすべての方がご利用可能です。 次の物を取得するライセンスこちらからすぐに開始하십시오!
9つの .NET API製品 オフィス文書用