IronBarcode チュートリアル .NETでのバーコードの読み取り C# Barcode Scanner: Read Barcodes & QR Codes in .NET Applications Jacob Mellor 更新日:7月 22, 2025 Download IronBarcode NuGet Download テキストの検索と置換 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English .NETアプリケーションでバーコードやQRコードを素早くスキャンする必要がありますか? IronBarcodeは、完璧なデジタル画像でも、挑戦的な実世界の写真でも、バーコードの読み取りを簡単で信頼できるものにします。 このガイドでは、C#でのバーコードスキャンの実装方法を実際にすぐ使える実例と共に示しています。 クイックスタート: ファイルからバーコードを即座に読む この短い例は、IronBarcodeを使い始めるのがどれだけ簡単かを示しています。 コード1行で、画像ファイルからバーコードを読み取ることができ、複雑なセットアップは不要です。 Get started making PDFs with NuGet now: Install IronBarcode with NuGet Package Manager PM > Install-Package BarCode Copy and run this code snippet. var results = IronBarCode.BarcodeReader.Read("path/to/barcode.png"); Deploy to test on your live environment Start using IronBarcode in your project today with a free trial Free 30 day Trial class="hsg-featured-snippet"> 最小限のワークフロー (5ステップ) NuGetからまたはDLLダウンロードでIronBarcodeをインストール BarcodeReader.Read メソッドを使用して任意のバーコードまたはQRコードをスキャン 単一のスキャン、PDF、またはマルチフレームTIFFファイルで複数のバーコードまたはQRコードを読む IronBarcodeに高度なフィルターを加えて不完全なスキャンや写真をデコードさせる チュートリアルプロジェクトをダウンロードしてすぐにスキャンを始める どうやって.NETプロジェクトにIronBarcodeをインストールしますか? IronBarcodeは、NuGetパッケージマネージャーまたはDLLを直接ダウンロードすることで簡単にインストールできます。 NuGetによるインストールは依存関係と更新を自動で管理するため推奨される方法です。 今日あなたのプロジェクトでIronBarcodeを無料トライアルで使用開始。 最初のステップ: 無料で始める Install-Package BarCode インストール後、C#ファイルにusing IronBarCode;を追加してバーコードスキャン機能にアクセスできます。 さまざまな開発環境での詳細なインストール手順については、インストールガイドを確認してください。 どうすればC#を使って最初のバーコードを読むことができますか? IronBarcodeでバーコードを読むのに必要なのは、コード1行だけです。 ライブラリは自動的にバーコードフォーマットを検出し、すべてのエンコードされたデータを抽出します。 IronBarcodeが直ちに読める標準的なCode128バーコード using IronBarCode; using System; // Read barcodes from the image file - supports PNG, JPG, BMP, GIF, and more BarcodeResults results = BarcodeReader.Read("GetStarted.png"); // Check if any barcodes were detected if (results != null && results.Count > 0) { // Process each barcode found in the image foreach (BarcodeResult result in results) { // Extract the text value from the barcode Console.WriteLine("Barcode detected! Value: " + result.Text); // Additional properties available: // result.BarcodeType - The format (Code128, QR, etc.) // result.BinaryValue - Raw binary data if applicable // result.Confidence - Detection confidence score } } else { Console.WriteLine("No barcodes detected in the image."); } using IronBarCode; using System; // Read barcodes from the image file - supports PNG, JPG, BMP, GIF, and more BarcodeResults results = BarcodeReader.Read("GetStarted.png"); // Check if any barcodes were detected if (results != null && results.Count > 0) { // Process each barcode found in the image foreach (BarcodeResult result in results) { // Extract the text value from the barcode Console.WriteLine("Barcode detected! Value: " + result.Text); // Additional properties available: // result.BarcodeType - The format (Code128, QR, etc.) // result.BinaryValue - Raw binary data if applicable // result.Confidence - Detection confidence score } } else { Console.WriteLine("No barcodes detected in the image."); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel BarcodeReader.Read メソッドは、すべての検出されたバーコードを含むBarcodeResultsコレクションを返します。 各BarcodeResultはバーコードのテキスト値、フォーマットタイプ、位置座標、バイナリデータへのアクセスを提供します。 このアプローチは、Code128、Code39、QRコード、Data Matrixコードを含む一般的なバーコードフォーマットとシームレスに動作します。 難しいまたは損傷したバーコードを読むのに役立つオプションは何ですか? 実世界でのバーコードスキャンは、しばしば不完全な画像 - 傾いた角度、悪い照明、または部分的な損傷を伴います。 IronBarcodeの高度なオプションは、これらの課題を効果的に処理します。 using IronBarCode; // Configure advanced reading options for difficult barcodes BarcodeReaderOptions options = new BarcodeReaderOptions { // Speed settings: Faster, Balanced, Detailed, ExtremeDetail // ExtremeDetail performs deep analysis for challenging images Speed = ReadingSpeed.ExtremeDetail, // Specify expected formats to improve performance // Use bitwise OR (|) to combine multiple formats ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128, // Maximum number of barcodes to find (0 = unlimited) MaxParallelThreads = 4, // Crop region for faster processing of specific areas CropArea = null // Or specify a Rectangle }; // Apply options when reading BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options); // Process detected barcodes foreach (var barcode in results) { Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}"); } using IronBarCode; // Configure advanced reading options for difficult barcodes BarcodeReaderOptions options = new BarcodeReaderOptions { // Speed settings: Faster, Balanced, Detailed, ExtremeDetail // ExtremeDetail performs deep analysis for challenging images Speed = ReadingSpeed.ExtremeDetail, // Specify expected formats to improve performance // Use bitwise OR (|) to combine multiple formats ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128, // Maximum number of barcodes to find (0 = unlimited) MaxParallelThreads = 4, // Crop region for faster processing of specific areas CropArea = null // Or specify a Rectangle }; // Apply options when reading BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options); // Process detected barcodes foreach (var barcode in results) { Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}"); } Imports IronBarCode ' Configure advanced reading options for difficult barcodes Private options As New BarcodeReaderOptions With { .Speed = ReadingSpeed.ExtremeDetail, .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128, .MaxParallelThreads = 4, .CropArea = Nothing } ' Apply options when reading Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options) ' Process detected barcodes For Each barcode In results Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}") Next barcode $vbLabelText $csharpLabel 高度なオプションを使用してIronBarcodeが正常に読む回転されたQRコード ExpectBarcodeTypes プロパティは、特定のフォーマットに検索を限定することでパフォーマンスを大幅に向上させます。 問題のある画像で最高の正確性を得るには、画像フィルターと自動回転を組み合わせます: using IronBarCode; BarcodeReaderOptions options = new BarcodeReaderOptions { // Apply image processing filters to enhance readability ImageFilters = new ImageFilterCollection { new AdaptiveThresholdFilter(9, 0.01f), // Handles varying lighting new ContrastFilter(2.0f), // Increases contrast new SharpenFilter() // Reduces blur }, // Automatically rotate to find barcodes at any angle AutoRotate = true, // Use multiple CPU cores for faster processing Multithreaded = true }; BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options); foreach (var result in results) { Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}"); Console.WriteLine($"Confidence: {result.Confidence}%"); Console.WriteLine($"Position: X={result.X}, Y={result.Y}"); } using IronBarCode; BarcodeReaderOptions options = new BarcodeReaderOptions { // Apply image processing filters to enhance readability ImageFilters = new ImageFilterCollection { new AdaptiveThresholdFilter(9, 0.01f), // Handles varying lighting new ContrastFilter(2.0f), // Increases contrast new SharpenFilter() // Reduces blur }, // Automatically rotate to find barcodes at any angle AutoRotate = true, // Use multiple CPU cores for faster processing Multithreaded = true }; BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options); foreach (var result in results) { Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}"); Console.WriteLine($"Confidence: {result.Confidence}%"); Console.WriteLine($"Position: X={result.X}, Y={result.Y}"); } Imports IronBarCode Private options As New BarcodeReaderOptions With { .ImageFilters = New ImageFilterCollection From { New AdaptiveThresholdFilter(9, 0.01F), New ContrastFilter(2.0F), New SharpenFilter() }, .AutoRotate = True, .Multithreaded = True } Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options) For Each result In results Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}") Console.WriteLine($"Confidence: {result.Confidence}%") Console.WriteLine($"Position: X={result.X}, Y={result.Y}") Next result $vbLabelText $csharpLabel これらの高度な機能により、IronBarcodeは、画像品質が大きく異なる場所で、写真、セキュリティカメラ、またはモバイルデバイスキャプチャからのバーコードスキャンに最適です。 PDFドキュメントから複数のバーコードをスキャンする方法は? PDFバーコードスキャンは、請求書、出荷ラベル、在庫ドキュメントの処理に不可欠です。 IronBarcodeは、すべてのページにわたってすべてのバーコードを効率よく読み取りま。 PDFファイルからのバーコード読み取り using System; using IronBarCode; try { // Scan all pages of a PDF for barcodes BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf"); if (results != null && results.Count > 0) { foreach (var barcode in results) { // Access barcode data and metadata string value = barcode.Text; int pageNumber = barcode.PageNumber; BarcodeEncoding format = barcode.BarcodeType; byte[] binaryData = barcode.BinaryValue; // Extract barcode image if needed System.Drawing.Bitmap barcodeImage = barcode.BarcodeImage; Console.WriteLine($"Found {format} on page {pageNumber}: {value}"); } } else { Console.WriteLine("No barcodes found in the PDF."); } } catch (Exception ex) { Console.WriteLine($"Error reading PDF: {ex.Message}"); } using System; using IronBarCode; try { // Scan all pages of a PDF for barcodes BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf"); if (results != null && results.Count > 0) { foreach (var barcode in results) { // Access barcode data and metadata string value = barcode.Text; int pageNumber = barcode.PageNumber; BarcodeEncoding format = barcode.BarcodeType; byte[] binaryData = barcode.BinaryValue; // Extract barcode image if needed System.Drawing.Bitmap barcodeImage = barcode.BarcodeImage; Console.WriteLine($"Found {format} on page {pageNumber}: {value}"); } } else { Console.WriteLine("No barcodes found in the PDF."); } } catch (Exception ex) { Console.WriteLine($"Error reading PDF: {ex.Message}"); } Imports System Imports IronBarCode Try ' Scan all pages of a PDF for barcodes Dim results As BarcodeResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf") If results IsNot Nothing AndAlso results.Count > 0 Then For Each barcode In results ' Access barcode data and metadata Dim value As String = barcode.Text Dim pageNumber As Integer = barcode.PageNumber Dim format As BarcodeEncoding = barcode.BarcodeType Dim binaryData() As Byte = barcode.BinaryValue ' Extract barcode image if needed Dim barcodeImage As System.Drawing.Bitmap = barcode.BarcodeImage Console.WriteLine($"Found {format} on page {pageNumber}: {value}") Next barcode Else Console.WriteLine("No barcodes found in the PDF.") End If Catch ex As Exception Console.WriteLine($"Error reading PDF: {ex.Message}") End Try $vbLabelText $csharpLabel 異なるPDFページで見つかった複数バーコードを示すコンソール出力 特定のページ範囲または高度なPDF処理にはBarcodeReaderOptionsを使用します: // Read only specific pages to improve performance BarcodeReaderOptions pdfOptions = new BarcodeReaderOptions { // Scan pages 1-5 only PageNumbers = new[] { 1, 2, 3, 4, 5 }, // PDF-specific settings PdfDpi = 300, // Higher DPI for better accuracy ReadBehindVectorGraphics = true }; BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions); // Read only specific pages to improve performance BarcodeReaderOptions pdfOptions = new BarcodeReaderOptions { // Scan pages 1-5 only PageNumbers = new[] { 1, 2, 3, 4, 5 }, // PDF-specific settings PdfDpi = 300, // Higher DPI for better accuracy ReadBehindVectorGraphics = true }; BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions); ' Read only specific pages to improve performance Dim pdfOptions As New BarcodeReaderOptions With { .PageNumbers = { 1, 2, 3, 4, 5 }, .PdfDpi = 300, .ReadBehindVectorGraphics = True } Dim results As BarcodeResults = BarcodeReader.ReadPdf("document.pdf", pdfOptions) $vbLabelText $csharpLabel 詳細な例で、PDFバーコード抽出技術について詳しく学習。 マルチフレームTIFF画像を処理する方法は? ドキュメント スキャニングやファクシミリ システムで一般的なマルチフレームTIFFファイルは、PDFと同様の包括的なサポートを受けます。 異なるフレームにバーコードを持つマルチフレームTIFFファイル using IronBarCode; // TIFF files are processed similarly to regular images // Each frame is scanned automatically BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff"); foreach (var result in multiFrameResults) { // Access frame-specific information int frameNumber = result.PageNumber; // Frame number in TIFF string barcodeValue = result.Text; Console.WriteLine($"Frame {frameNumber}: {barcodeValue}"); // Save individual barcode images if needed result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png"); } using IronBarCode; // TIFF files are processed similarly to regular images // Each frame is scanned automatically BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff"); foreach (var result in multiFrameResults) { // Access frame-specific information int frameNumber = result.PageNumber; // Frame number in TIFF string barcodeValue = result.Text; Console.WriteLine($"Frame {frameNumber}: {barcodeValue}"); // Save individual barcode images if needed result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png"); } Imports IronBarCode ' TIFF files are processed similarly to regular images ' Each frame is scanned automatically Private multiFrameResults As BarcodeResults = BarcodeReader.Read("Multiframe.tiff") For Each result In multiFrameResults ' Access frame-specific information Dim frameNumber As Integer = result.PageNumber ' Frame number in TIFF Dim barcodeValue As String = result.Text Console.WriteLine($"Frame {frameNumber}: {barcodeValue}") ' Save individual barcode images if needed If result.BarcodeImage IsNot Nothing Then result.BarcodeImage.Save($"barcode_frame_{frameNumber}.png") End If Next result $vbLabelText $csharpLabel TIFF処理には、画像フィルターおよび回転設定を含む同じBarcodeReaderOptionsが適用されます。 詳細なTIFF処理シナリオについては、画像処理チュートリアルを参照してください。 マルチスレッド処理で処理速度を上げることができますか? 複数のドキュメントを処理することで並列処理から大きな利点を得られます。 IronBarcodeは最適なパフォーマンスのために利用可能なCPUコアを自動的に利用します。 using IronBarCode; // List of documents to process - mix of formats supported var documentBatch = new[] { "invoice1.pdf", "shipping_label.png", "inventory_sheet.tiff", "product_catalog.pdf" }; // Configure for batch processing BarcodeReaderOptions batchOptions = new BarcodeReaderOptions { // Enable parallel processing across documents Multithreaded = true, // Limit threads if needed (0 = use all cores) MaxParallelThreads = Environment.ProcessorCount, // Apply consistent settings to all documents Speed = ReadingSpeed.Balanced, ExpectBarcodeTypes = BarcodeEncoding.All }; // Process all documents in parallel BarcodeResults batchResults = BarcodeReader.Read(documentBatch, batchOptions); // Group results by source document var resultsByDocument = batchResults.GroupBy(r => r.Filename); foreach (var docGroup in resultsByDocument) { Console.WriteLine($"\nDocument: {docGroup.Key}"); foreach (var barcode in docGroup) { Console.WriteLine($" - {barcode.BarcodeType}: {barcode.Text}"); } } using IronBarCode; // List of documents to process - mix of formats supported var documentBatch = new[] { "invoice1.pdf", "shipping_label.png", "inventory_sheet.tiff", "product_catalog.pdf" }; // Configure for batch processing BarcodeReaderOptions batchOptions = new BarcodeReaderOptions { // Enable parallel processing across documents Multithreaded = true, // Limit threads if needed (0 = use all cores) MaxParallelThreads = Environment.ProcessorCount, // Apply consistent settings to all documents Speed = ReadingSpeed.Balanced, ExpectBarcodeTypes = BarcodeEncoding.All }; // Process all documents in parallel BarcodeResults batchResults = BarcodeReader.Read(documentBatch, batchOptions); // Group results by source document var resultsByDocument = batchResults.GroupBy(r => r.Filename); foreach (var docGroup in resultsByDocument) { Console.WriteLine($"\nDocument: {docGroup.Key}"); foreach (var barcode in docGroup) { Console.WriteLine($" - {barcode.BarcodeType}: {barcode.Text}"); } } Imports Microsoft.VisualBasic Imports IronBarCode ' List of documents to process - mix of formats supported Private documentBatch = { "invoice1.pdf", "shipping_label.png", "inventory_sheet.tiff", "product_catalog.pdf" } ' Configure for batch processing Private batchOptions As New BarcodeReaderOptions With { .Multithreaded = True, .MaxParallelThreads = Environment.ProcessorCount, .Speed = ReadingSpeed.Balanced, .ExpectBarcodeTypes = BarcodeEncoding.All } ' Process all documents in parallel Private batchResults As BarcodeResults = BarcodeReader.Read(documentBatch, batchOptions) ' Group results by source document Private resultsByDocument = batchResults.GroupBy(Function(r) r.Filename) For Each docGroup In resultsByDocument Console.WriteLine($vbLf & "Document: {docGroup.Key}") For Each barcode In docGroup Console.WriteLine($" - {barcode.BarcodeType}: {barcode.Text}") Next barcode Next docGroup $vbLabelText $csharpLabel この並列アプローチはドキュメントを同時に処理し、マルチコアシステムでスキャン時間を最大75%短縮します。 企業規模のバーコード処理には、パフォーマンス最適化ガイドを探求してください。 まとめ IronBarcodeは複雑なバーコードスキャンを単純なC#コードに変換します。 在庫システム、ドキュメントプロセッサ、またはモバイルアプリケーションを構築しようとしているか否かにかかわらず、ライブラリは完璧なデジタルバーコードから困難な実世界のキャプチャまでを処理します。 カバーされている主な機能: 画像からの1行バーコード読み取り 損傷または回転したバーコードのための高度なオプション 包括的なPDFとTIFF文書のスキャン マルチスレッドによる高性能バッチ処理 すべての主要なバーコードフォーマットのサポート さらなる読み物 これらのリソースでバーコード処理機能を拡張: バーコード生成チュートリアル - カスタムバーコードを作成 QRコードガイド - 専門的なQRコード機能 BarcodeReader クラスリファレンス - 完全なAPIドキュメント トラブルシューティングガイド - 一般的な問題と解決策 ソースコードダウンロード これらの例を自分で実行: チュートリアルGitHubリポジトリ C# ソースコードのZipファイル あなたのアプリケーションでバーコードスキャンを実装する準備は整いましたか? 無料トライアルを開始して、.NETプロジェクトにプロフェッショナルなバーコード読み取りを追加してください。 今IronBarcodeを始めましょう。 無料で始める よくある質問 .NETプロジェクトにバーコード読み取りライブラリをインストールするにはどうすればよいですか? dotnet add package BarCodeというコマンドを使用してNuGetパッケージマネージャーを通じてIronBarcodeライブラリをインストールすることができます。または、Visual StudioのNuGetインターフェースを使用することもできます。手動インストールのためにDLLをダウンロードするという方法もあります。 C#を使用して画像からバーコードを読み取る方法は何ですか? IronBarcodeからBarcodeReader.Readメソッドを1行のコードで使用します: var results = BarcodeReader.Read('image.png'); このメソッドは画像内のすべてのバーコード形式を検出して読み取ります。 単一の画像またはドキュメントで複数のバーコードを検出することは可能ですか? はい、IronBarcodeは画像、PDF、またはマルチフレームTIFF内の複数のバーコードを自動的に検出して読み取り、各バーコードの値、タイプ、および位置をBarcodeResultsコレクションで返します。 C#を使用してPDFからバーコードを読む方法は何ですか? IronBarcodeのBarcodeReader.ReadPdfメソッドを使用して、PDFドキュメントのすべてのページをスキャンします: var results = BarcodeReader.ReadPdf('document.pdf'); 各結果にはバーコードが発見されたページ番号が含まれます。 バーコード画像がぼやけていたり回転している場合はどうすればよいですか? 画像フィルタ SharpenFilter または AdaptiveThresholdFilter を適用し、AutoRotate = true を設定して難しい画像を処理するためにBarcodeReaderOptionsを設定します。より良い精度のためにSpeed = ExtremeDetailを使用します。 .NETアプリケーションでサポートされているバーコード形式はどれですか? IronBarcodeは、QRコード、Code 128、Code 39、EAN-13、UPC-A、Data Matrix、PDF417、その他の主要なバーコード形式をすべてサポートしています。BarcodeEncoding.Allを使用して任意のサポートされた形式をスキャンします。 C#アプリケーションでバーコードスキャンのパフォーマンスをどのように向上させることができますか? ExpectBarcodeTypesを使用して予想されるバーコードタイプを指定し、マルチスレッド処理を有効にし、適切なSpeed設定を選択してパフォーマンスを向上させます。バッチタスクの場合、ファイルパス付きのBarcodeReader.Readを使用します。 バーコード読み取りエラーを処理するための推奨アプローチは何ですか? try-catchブロックでバーコード読み取りをカプセル化し、結果がnullまたは空であるかを確認します。IronBarcodeは、検出の信頼性を示す詳細なエラーメッセージとConfidenceプロパティを提供します。 スキャン後にバーコード画像を抽出できますか? はい、IronBarcodeのBarcodeResultには、検出されたバーコードのBitmapを含むBarcodeImageプロパティが含まれており、それを保存したり別に処理したりできます。 PDFドキュメント内の特定のページからバーコードを読む方法は何ですか? BarcodeReaderOptionsのPageNumbersプロパティを設定してページを指定します: options.PageNumbers = new[] {1, 2, 3}; これにより指定されたページでのみスキャンすることでパフォーマンスが最適化されます。 .NETでのバーコードスキャンに対応した画像形式は何ですか? IronBarcodeは、PNG、JPEG、BMP、GIF、TIFF(マルチフレームを含む)、PDFの形式でのスキャンをサポートしています。ファイルパス、ストリーム、またはバイト配列から画像をロードできます。 C#でスキャンされたバーコードからバイナリデータにアクセスする方法は何ですか? 特に圧縮情報やバイナリプロトコルなど、非テキストデータを含むバーコードの生のバイナリデータを取得するには、BarcodeResultのBinaryValueプロパティを使用します。 Jacob Mellor 今すぐエンジニアリングチームとチャット 最高技術責任者(CTO) Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。 準備はいいですか? Nuget ダウンロード 1,935,276 | バージョン: 2025.11 ただ今リリースされました 試用ライセンスキーがメールで送信されました。 総ダウンロード数: 1,935,276 ライセンスを見る