IRONSOFTWAREHOME
他のコンポーネントと比較する

BarcodeLib vs IronBarcode: オープンソースジェネレータが止まる場所

Curtis Chau
Curtis Chau
Updated: 2026年4月26日

BarcodeLibは、ほとんどの開発者が最終的にバーコードの作成しかできないことに気づく、長年使用されているオープンソースの.NETライブラリです。 彼らの一部はまた、SkiaSharpのバージョンの衝突に気づきます。これは、BarcodeLibをSkiaSharpに既に依存するMAUIまたはBlazorプロジェクトに追加したばかりの最悪のタイミングで通常発生し、ビルドがNU1608警告を投げ始めます。 この記事では、両方の問題をカバーしています。 BarcodeLibは、明確な用途を持つ正当なライブラリです。 それがどこで止まるのかを理解することが、実際的な問題である。

BarcodeLibを理解する

BarcodeLibは、 .NET向けのオープンソースのバーコード画像生成ライブラリであり、Brad Barnhill氏によってGitHub上でメンテナンスされています。 2007年以来活発であり、おおよそ30の1Dシンボロジー変種をサポートしています。 Apache 2.0ライセンスにより、商用利用も無料です。 文字列からイメージを生成するという純粋な線形バーコード生成には、信頼性があり、アクティブな使用の多くの年を通じてその目的を果たしてきました。

このAPIはインスタンスベースです。 Encode()を呼び出します。 結果はSKImage(SkiaSharp)で、必要に応じてエンコードして保存またはストリームします。 このワークフローはアクセスしやすく、要件が厳密に線形バーコードイメージの印刷であるプロジェクトでは—送り状タグ、在庫タグ、小売価格タグ—充分です。

BarcodeLibの主なアーキテクチャ特性:

-**生成のみのスコープ:**このライブラリには、読み取りまたはデコード用のAPIは一切ありません。 その全表面積は、データ文字列から画像を生成することに向けられています。

  • インスタンスベースのAPI: 各操作にはEncode()を呼び出します。
  • SKImageを返す: 出力はSkiaSharpの画像オブジェクトで、ファイルまたはバイト配列を生成するためにSKEncodedImageFormatステップとストリームが必要です。
  • 1Dのみのシンボロジー: Code128、EAN-13、UPC-A、Code39を含む約30の線形式をサポートします; 現在の3.xソースのBarcodeStandard.Type列挙型には、QRコード、Data Matrix、PDF417、Aztecその他の2Dエントリが含まれていません。
  • SkiaSharp依存関係 (v3.x): 3.xシリーズはクロスプラットフォームのサポートを可能にするためにSystem.Drawing.CommonをSkiaSharpに置き換えました; これは、プロジェクト内の他のパッケージもSkiaSharpに依存している場合、バージョン競合のリスクをもたらします。 -無料、ライセンスキー不要: Apache 2.0ライセンスは商用利用をカバーしており、ランタイムキーやアクティベーションは不要です。

BarcodeLibコア生成パターン

標準的なBarcodeLib生成ワークフローでは、インスタンスを作成し、プロパティを設定し、寸法を指定してEncode()を呼び出す必要があります。

using BarcodeStandard;
using SkiaSharp;

var b = new Barcode();
b.IncludeLabel = true;
SKImage img = b.Encode(BarcodeStandard.Type.Code128, "PRODUCT-12345", 300, 100);

using var stream = File.OpenWrite("barcode.png");
img.Encode(SKEncodedImageFormat.Png, 100).SaveTo(stream);

これが生成ワークフロー全体です。 プロパティセッターパターンは設計の一部です: 設定はSKImageです。

IronBarcodeを理解する

IronBarcodeは、バーコードの生成と読み取りの両方を単一のパッケージでカバーする商用.NETバーコードライブラリです。 NuGet経由でインストールでき、 .NET Framework 4.6.2から.NET 9までで動作し、Windows、Linux、macOS、Docker、Azure、およびAWS Lambdaで動作します。 このライブラリはIron Software社によって開発・保守されており、商用サポートモデルを採用しています。

生成APIは静的かつ流暢です。インスタンスを作成する必要も、プライマリ呼び出しの前にプロパティを設定する必要もありません。 設定オプションはQRCodeWriter.CreateQrCode()の結果にチェーンされます。 チェーンの終わりの出力メソッド — .SaveAsPng(), .ToPngBinaryData(), .ToAnyImageData() — は、BarcodeLibが必要とする中間MemoryStreamパターンを排除します。 読み込み機能は同じパッケージに含まれており、別途ライブラリやZXing .NETとの統合を維持管理する必要はありません。

IronBarcodeの主な特徴:

  • 1パッケージでの生成と読み取り: BarcodeWriterは生成を処理します; BarcodeReaderは読み取りを処理します; どちらも同じNuGetインストールに含まれています -**静的流暢API:**インスタンス化は不要。 設定チェーンは流暢な方法でCreateBarcode()の後に続きます
  • 直接的なバイト配列出力: byte[]を返します
  • 両端でのPDFサポート: BarcodeReader.Read()はPDFファイルをネイティブに受け入れます; 生成出力はPDFに埋め込むことができます
  • SkiaSharpへの依存なし: SkiaSharpのバージョングラフに依存しないため、MAUIや他のプロジェクトにおけるNU1608の競合が解消されます。
  • **SLA付き商用ライセンス:**価格は749ドル~5,999ドル(永久ライセンス) 商用サポートと保証された更新頻度が含まれます。
  • ReadingSpeed調整: BarcodeReaderOptionsは、ボリュームでのパフォーマンス向上のためにスキャンの徹底性を調整できます

機能比較

フィーチャーBarcodeLibIronBarcode
バーコード生成はい(1Dのみ)はい(1Dおよび2D)
バーコード読み取りなしはい
2Dシンボロジー(QR、Data Matrix、PDF417、Aztec)なしはい
PDFバーコード読み取りなしはい
グラフ内のSkiaSharp依存性はい(v3.x)なし
流暢なチェーン可能なAPIなしはい
ライセンスアパッチ2.0(無料)749ドル~5,999ドルの永久ライセンス

詳細な機能比較

フィーチャーBarcodeLibIronBarcode
世代
Code128生成はいはい
EAN-13 / UPC-A世代はいはい
QRコード生成なしはい(ロゴ埋め込みあり)
データマトリックス / PDF417 / アステカなしはい
1Dシンボロジーカバレッジ約30のバリアント30以上のバリアント
流暢な連鎖生成APIなしはい
直接のbyte[]出力手動(ストリームエンコード).ToPngBinaryData()
PDF生成出力なしはい
読む
画像からのバーコード読み取りなしはい (BarcodeReader.Read())
PDFからのバーコード読み取りなしはい(ネイティブ、追加ライブラリ不要)
複数バーコード検出なしはい (ExpectMultipleBarcodes)
読書速度調整該当なしはい (ReadingSpeed列挙型)
プラットフォーム
ウィンドウズはいはい
Linux / macOS部分的(SkiaSharpに依存)フル
Docker/コンテナ設定が必要ですはい
MAUIプロジェクトとの互換性紛争リスク(NU1608)紛争なし
.NET Framework 4.6.2以降はいはい
.NET 6~9はい(SkiaSharp 3.xが必要です)はい
ライセンスについて
オープンソース/無料はい(Apache 2.0)なし
商用サポート/SLAなしはい
ライセンスキーが必要ですなしはい
価格無料749ドル~5,999ドルの永久ライセンス

バーコード生成API

生成APIは異なるデザイン哲学を表しています:BarcodeLibは可変インスタンスの設定を使用し、IronBarcodeは静的エントリポイントでのフルーエントチェーンを使用します。

BarcodeLibのアプローチ

BarcodeLibはインスタンスを構築し、プロパティを設定してから寸法でEncode()を呼び出す必要があります。 出力はSKImageです:

using BarcodeStandard;
using SkiaSharp;

public byte[] GenerateCode128(string data)
{
    var b = new Barcode();
    b.IncludeLabel = true;
    SKImage img = b.Encode(BarcodeStandard.Type.Code128, data, 300, 100);

    using var ms = new MemoryStream();
    img.Encode(SKEncodedImageFormat.Png, 100).SaveTo(ms);
    return ms.ToArray();
}

MemoryStreamを要求することを意味します。 IncludeLabelプロパティはブール値のトグルです - BarcodeLibはエンコードされたデータ文字列をバーの下に見えるラベルとしてレンダリングします。

IronBarcodeのアプローチ

IronBarcodeの生成は完全に静的です。 設定チェーンはCreateBarcode()の後に続き、出力メソッドはチェーンを直接終了します:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

public byte[] GenerateCode128(string data)
{
    return BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
        .ResizeTo(300, 100)
        .AddBarcodeValueTextBelowBarcode()
        .ToPngBinaryData();
}

MemoryStreamオブジェクトなしでバイト配列を直接返します。 .AddBarcodeValueTextBelowBarcode()はバーの下のラベルとしてエンコードされたデータ文字列をレンダリングします。 高度な生成シナリオについては、 IronBarcodeのバーコード生成に関するドキュメントを参照してください。

バーコード読み取り機能

読書は、これら二つの図書館を隔てる最も重要な機能的境界である。 BarcodeLibには読み取り機能がありません。 IronBarcodeには、完全な読み取りエンジンが同じパッケージに含まれています。

BarcodeLibのアプローチ

BarcodeLibには読み取りAPIがありません。 Decode(), Scan(), またはReadBarcode()メソッドはありません。 読み取りはライブラリの設計の一部ではありませんでした。 デコードメソッドを呼び出そうとすると、コンパイルエラーが発生します。

using BarcodeStandard;
using SkiaSharp;

var b = new Barcode();

// There is no Decode, Scan, or Read method on Barcode.
// b.Decode("barcode.png");      // does not exist
// b.Scan("barcode.png");        // does not exist
// b.ReadBarcode("barcode.png"); // does not exist

// The only public operation is generation:
SKImage img = b.Encode(BarcodeStandard.Type.Code128, "PRODUCT-12345", 300, 100);

BarcodeLibに加えて生成と読み取りの両方を必要とするチームは、2つ目のライブラリ(通常はZXing .NET )を追加する必要があり、これにより独自の依存関係管理の負担と、維持管理が必要な2つ目のAPIサーフェスが発生します。

IronBarcodeのアプローチ

System.Drawing.Bitmapオブジェクトを受け入れます。 PDFファイルの読み込みには、追加のライブラリは必要ありません。

using IronBarCode;

// Read from an image
var results = BarcodeReader.Read("barcode.png");
Console.WriteLine(results.First().Value);  // "PRODUCT-12345"

// Read all barcodes from a PDF — no separate PDF library needed
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}

// Tune reading for speed vs. thoroughness
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true
};
var multiResults = BarcodeReader.Read("warehouse-scan.png", options);

ReadingSpeed列挙型は、大量処理シナリオにおけるスキャンパフォーマンスの調整を可能にします。 読み取り設定に関するガイダンスについては、 IronBarcodeの読み取りに関するドキュメントを参照してください。

SkiaSharpの依存関係の競合

BarcodeLib 3.x で導入された SkiaSharp の依存関係は、 IronBarcodeには存在しない種類の競合を引き起こします。

BarcodeLibのアプローチ

BarcodeLib 3.xから、ライブラリはSystem.Drawing.Commonを置き換えるグラフィックスバックエンドとしてSkiaSharpを導入しましたが、.NET 6以降はWindows専用となりました。BarcodeLib 3.1.5はSkiaSharp >= 2.88.8を宣言します。 既存のプロジェクトがMicrosoft.Maui.Graphicsを使用するMAUIプロジェクトでの他の依存関係を通じてすでにSkiaSharpを使用している場合、SkiaSharp 3.xに向かう傾向があります — 解決されたバージョンは収束しない可能性があります。 その結果、最低でもNU1608警告が発生し、最悪の場合は実行時にアセンブリバインディングエラーが発生します。

warning NU1608: Detected package version outside of dependency constraint:
BarcodeLib 3.1.5 requires SkiaSharp (>= 2.88.8) but
version SkiaSharp 3.116.1 was resolved.
Text

明示的なパッケージ参照を通じて解決を強制することは一つの方法ですが、それがランタイムの互換性を保証するわけではありません:

<ItemGroup>
  <PackageReference Include="BarcodeLib" Version="3.1.5" />
  <PackageReference Include="SkiaSharp" Version="3.116.1" />
  <PackageReference Include="SkiaSharp.Views.Maui.Controls" Version="3.116.1" />
</ItemGroup>
XML

明示的なオーバーライドを使っても、互換性はBarcodeLibの内部API呼び出しが解決されたSkiaSharpバージョンが公開しているものであるかによります。 コミュニティで保守されているプロジェクトとして、BarcodeLibはリリースのタイミングに商業的なサポート契約が付いていません。

IronBarcodeのアプローチ

IronBarcodeは、アプリケーションコードとSkiaSharpの依存関係グラフを共有しません。 管理すべきバージョンネゴシエーションはなく、診断すべきNU1608もなく、SkiaSharpのバージョン解決に関連するランタイムアセンブリバインディングのリスクもありません。 MAUIプロジェクト、 Blazorプロジェクト、およびSkiaSharpに依存するその他のアプリケーションは、バージョン競合を起こすことなくIronBarcodeをインストールできます。 MAUI固有の統合パターンについては、 IronBarcode MAUIのドキュメントを参照してください。

APIマッピングリファレンス

BarcodeLibIronBarcode
new Barcode()静的API - インスタンスは不要
b.Encode(BarcodeStandard.Type.Code128, "data", 300, 100)BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Code128).ResizeTo(300, 100)
b.IncludeLabel = true.AddBarcodeValueTextBelowBarcode()
SKImageを返す.SaveAsPng(path) / .ToPngBinaryData()
BarcodeStandard.Type.Code128BarcodeEncoding.Code128
BarcodeStandard.Type.Code39BarcodeEncoding.Code39
BarcodeStandard.Type.Ean13BarcodeEncoding.EAN13
BarcodeStandard.Type.UpcABarcodeEncoding.UPCA
サポートされていません(BarcodeLibで2Dなし)QRCodeWriterも)
読み取りAPIはありませんBarcodeReader.Read(path)
依存関係グラフ内のSkiaSharpSkiaSharpの依存関係なし

チームがBarcodeLibからIronBarcodeへの移行を検討する場合

読書要件が表示されます

数ヶ月にわたり配送ラベルを生成してきたシステムに、新たな要件が課せられた。それは、サプライヤーから返送されたラベルも処理しなければならないというものだ。 倉庫との連携では、入荷貨物明細書からバーコードを解析する必要があります。 文書管理システムは、スキャンされたPDFファイル上のバーコードをインデックス化する必要がある。 BarcodeLibはこれらの要件をいずれも満たすことができません。読み取りAPIが存在しないためです。チームはBarcodeLibに加えてZXing .NETを追加することを検討し、2つのライブラリのメンテナンス負担と2つの独立した依存関係グラフを考慮した上で、生成と読み取りの両方を単一のNuGetインストールで処理できるライブラリを使用する方がよりクリーンな方法であると判断しました。

SkiaSharp社がマウイ島のプロジェクトで紛争を発生

あるチームが既存のMAUIアプリケーションにBarcodeLibを追加したところ、復元中にすぐにNU1608警告が発生しました。 BarcodeLibが期待するSkiaSharpの範囲とMAUIが要求するバージョンの不一致を調査で特定し、解決を強制するために明示的な<PackageReference>のオーバーライドを追加し、ビルドをパスさせます。 その後、SkiaSharpのネイティブバイナリが誤ったバージョンをロードした際に、デバイス上でランタイムクラッシュが発生する。 この問題を解決するには、アセンブリバインディングログの詳細な調査が必要です。 IronBarcodeに切り替えることで、根本的な競合が解消されます。これは、互換性のあるSkiaSharpのバージョンを探すのではなく、共有されている依存関係を完全に排除することによって実現されます。

PDFバーコード処理が必要です

請求書、作業指示書、出荷明細書など、バーコードが埋め込まれたPDF文書を生成するアプリケーションは、後続の処理中にそれらのバーコードを読み取る必要がある場合があります。 BarcodeLibはバーコード画像を生成しますが、PDFファイルへの対応はしていません。 BarcodeLibを使用してPDFからバーコードを読み取るには、まず別のPDFライブラリを使用してPDFを画像にレンダリングし、次にその画像を別の読み取りライブラリに渡す必要があります。 IronBarcodeは完全なチェーンをネイティブで処理します: BarcodeReader.Read("file.pdf")がすべてのページを走査し、中間レンダリングステップなしで検出されたすべてのバーコードを返します。

QRコードや他の2Dシンボロジー要件が現れる

元々は線形バーコードだけが必要だったプロジェクトは、しばしばQRコード、Data Matrix、PDF417、またはAztecの出力を必要とするように進化します。 BarcodeLibの3.xシリーズでは、2Dシンボロジーを生成しません — BarcodeStandard.Type列挙型にはQRコードやその他の2Dエントリが含まれていないため、2D要件は別のライブラリを追加するか、BarcodeLibを完全に置き換える必要があります。 IronBarcodeのBarcodeWriterは、同じ流暢なAPIを通じてQRコード(ロゴ埋め込み、色制御、およびエラー訂正調整を行う)、Data Matrix、PDF417、Aztecをカバーします。 シンボロジー要件が2Dへと移行するチームは、そのギャップが移行の決定要因であることを発見します。

一般的な移行の考慮事項

インスタンスAPIから静的Fluent APIへ

BarcodeLibコードはミュータブルオブジェクトパターンを使用します: Encode()を呼び出します。 IronBarcodeは静的な流暢なパターンを使用します: BarcodeWriter.CreateBarcode()を呼び出し、設定メソッドをチェーンし、出力メソッドで終了します。 フィールドとしてBarcodeインスタンスを格納したり、メソッド間で渡したりする既存のコードは再構築が必要です。 典型的な変更点は、プロパティ設定ブロックをメソッドチェーンに置き換えることです。

// The property setters on b become chained methods
BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
    .ResizeTo(300, 100)
    .AddBarcodeValueTextBelowBarcode()
    .SaveAsPng(outputPath);

SKImageから直接出力へ

BarcodeLib 3.xはSKEncodedImageFormatとストリームが必要です。 image.Encode(...).SaveTo(stream)を通過するコードは更新が必要です。 IronBarcodeの流暢なチェーンは、目的の出力形式で直接終了します — .SaveAsPng(), .ToPngBinaryData(), .ToAnyImageData() — 中間の画像オブジェクトやストリームへのエンコードステップが不要になります。

Type Enum to BarcodeEncoding Enum

BarcodeLib 3.xはBarcodeStandard.Type.Code128のようなPascalCase値を持ちます。 IronBarcodeはBarcodeEncoding.Code128のような値を持ちます。 1D値は直接対応します: Code128Code128, Ean13EAN13, UpcAUPCA, Code39Code39.cs ファイル全体のBarcodeStandard.Type.をgrepして、更新が必要なすべての出現を特定します。

SkiaSharp リファレンスのクリーンアップ

BarcodeLibのNU1608警告を解決するために明示的な<PackageReference Include="SkiaSharp">エントリを追加したプロジェクトは、IronBarcodeに切り替えた後はこれらのオーバーライドを削除できます。 プロジェクト内の他のパッケージでSkiaSharpがまだ必要とされているかどうかを削除前に確認するには、dotnet list package --include-transitiveコマンドを使用します。

IronBarcodeの追加機能

IronBarcodeは、直接的な生成と読み取りの比較機能に加え、BarcodeLibでは対応していない機能も備えています。

  • QRコードのロゴ埋め込み: QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")はQRコードの中心にブランドロゴを埋め込み、自動エラー訂正調整を行います
  • PDFバーコード抽出: BarcodeReader.Read("file.pdf")は、別のPDFレンダリングライブラリなしでPDFドキュメントのすべてのページからバーコードを読み取ります
  • 複数バーコード検出: BarcodeReaderOptions.ExpectMultipleBarcodes = trueは単一の画像内に存在するすべてのバーコードを検出し返します
  • 読み取り速度設定: ReadingSpeed.Faster, ReadingSpeed.Balanced, およびReadingSpeed.ExtremeDetailは、スループット対精度に対するスキャンエンジンを調整します
  • スタイル付きQRコード生成: 色、ファインダーパターンスタイル、エラー訂正レベルはQRCodeWriterの連鎖メソッドを通じて構成可能です
  • 読み取り用のストリームとビットマップ入力: System.Drawing.Bitmap, およびAnyBitmap入力を受け入れます

.NETの互換性と将来の準備

IronBarcodeは.NET Framework 4.6.2から.NET 9までをサポートしており、Microsoftの.NETリリーススケジュールに合わせた定期的なリリースを行っています。 .NET 10の採用が2026年まで増加するにつれて、IronBarcodeの積極的な開発により、プロジェクトの変更を必要とせずに将来の互換性が確保されます。 このライブラリは、Windows、Linux、macOS、Docker、Azure、およびAWS Lambda上で、変更なしで動作します。 BarcodeLibは活発なコミュニティ開発も維持していますが、3.xシリーズにおけるクロスプラットフォーム対応は、上記の比較セクションで説明したSkiaSharpのバージョン互換性に依存します。 Linux上またはコンテナ環境における最新の.NETをターゲットとするプロジェクトの場合、IronBarcodeの依存関係のないクロスプラットフォームアーキテクチャは、BarcodeLibのSkiaSharpバックエンドがもたらすバージョンネゴシエーションを回避します。

結論

BarcodeLibとIronBarcodeは、 .NETにおけるバーコード処理のための異なる範囲のソリューションを提供します。 BarcodeLibは、生成機能に特化した無料のライブラリであり、20年近くにわたり、その明確な用途において信頼性の高いサービスを提供してきました。 IronBarcodeは、生成と読み取りの両方をカバーする商用ライブラリで、静的で流暢なAPIを備え、SkiaSharpへの依存関係はありません。 違いは、共有範囲内における品質の違いではなく、共有範囲そのものの違いである。

BarcodeLibは、Windows上またはSkiaSharpバージョンの管理がされている環境で、安定した線形生成のみの要件を満たすプロジェクトにとって適切な選択肢として残ります。 そのApache 2.0ライセンス、ゼロコスト、および簡潔なAPIは、ラベル出荷システム、在庫タグジェネレーター、および2Dシンボロジーを生成しない類似のアプリケーションに対する実用的なソリューションとなります。

IronBarcodeは、リニアイメージ生成にとどまらない要件に移行した場合に、より実用的な選択肢になります:読み取り機能が必要な場合、プロジェクトがSkiaSharpのバージョンコンフリクトが想定されるMAUIまたはクロスプラットフォームアプリケーションである場合、PDFバーコード処理がロードマップにある場合、またはQRコード、Data Matrix、PDF417、Aztecなどの2Dシンボロジーが必要な場合です。 商業ライセンスのコストは、この閾値の質問を表します—IronBarcodeがBarcodeLibよりも追加する機能に要件が一致するチームにとって、単一パッケージソリューションと商業サポートは価値の交換です。

率直に言って、ほとんどのチームは最初からIronBarcodeを導入しているわけではありません。 無料で十分な機能を備えているため、彼らはBarcodeLibから使い始める。 要件がBarcodeLibの生成のみの範囲を超えた場合、彼らはIronBarcodeに移行します。 移行プロセスは十分に文書化されており、APIインターフェースの変更点も予測可能です。 BarcodeLibがどこで停止するのか、具体的には生成の段階で停止するということを理解することが、タイミングに関する適切な判断を下すために必要な実践的な情報となる。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。