IRONSOFTWAREHOME
VIDEOLAR

Neodynamic Barcode'dan IronBarcode'a Geçiş

Curtis Chau
Curtis Chau
Updated: 1 Ağustos 2026

Bu rehber, Neodynamic.SDK.Barcode ve Neodynamic.SDK.BarcodeReader'den IronBarcode'a tam bir geçiş yolu sağlar. Her iki Neodynamic paketinin kaldırılmasını, çift lisans yapılandırmasının tek bir anahtar ile değiştirilmesini, oluşturma ve okuma API çağrılarının çevrilmesini ve Neodynamic ürün seti ile mümkün olmayan 2D barkod okuma yeteneği kazanma sürecini kapsar. Bu kılavuz, mevcut Neodynamic koduna sahip geliştiriciler için yazılmıştır ve geçişi tamamlamak için dosya bazında bir yaklaşım gerektirir.

Neodynamic Barkoddan Neden Geçiş Yapılmalı

2D Okuma Boşluğu: Neodynamic Barcode Professional SDK, QR Kodu, DataMatrix, PDF417 ve Aztec barkodları oluşturur. Bu formatların hiçbiri, eşlik eden Barkod Okuyucu SDK'sı tarafından okunamaz. Ürün etiketleri, nakliye konteynırları veya belge izleme için QR kodları üreten bir proje, aynı kodları okuyucu ile geri okuyamaz.IronBarcode aynı kütüphane ve aynı lisans aracılığıyla QR Kodu, DataMatrix, PDF417, Aztec ve desteklenen diğer tüm 2D formatları okur ve üretir.

Çift Ürün Yükü: Her iki Neodynamic SDK'sını kullanan projeye iki PackageReference girişi, iki using yönergesi, iki lisans bloğu ve iki ayrı güncelleme döngüsü eklenir. Bu yük, her geliştirici makinesinde, her CI hattında ve her üretim ortamında tekrar eder. Ayrı bakım gereksinimlerine sahip iki paketi, tek bir bağımlılık ve tek bir lisans ile birleştirmek, bu geçişin mekanik sonucudur.

Üçüncü Kitaplık Sorunu: 2D okuma boşluğuyla karşılaşan ve geçmek yerine etrafından dolaşmayı seçen ekipler, genellikle QR kodu okuma için özellikle ZXing.Net olan üçüncü bir kitaplık eklediler. Bu karar, bir sınırlamayı farklı bir karmaşaya takas eder: .NET çalışma zamanı veya bağlı çerçeve güncellendiğinde her biri kendi sürüm kısıtlamaları, kendi sürüm notları ve kendi potansiyel çatışmaları olan üç barkod ilişkili bağımlılık.IronBarcode hepsini değiştirir.

Fiyatlandırma Karmaşıklığı: Neodynamic Barcode Professional SDK geliştirici başına fiyatlandırılır (Basic yaklaşık $352, Ultimate yaklaşık $705'tir ComponentSource aracılığıyla). Barcode Reader SDK ayrıca ayrı bir ücrete tabidir. 1D okuma ve oluşturma ihtiyacında olan bir proje her ikisini de satın almak zorundadır ve birleşik maliyet ekip büyüklüğüne göre Okuyucu ücretinin üzerine çıkmaktadır. 2D okuma ihtiyacı olan bir proje yine de Neodynamic ürün ailesi içinde hiçbir fiyatla bu gereksinimi karşılayamaz.IronBarcode Lite, tek bir lisans altında oluşturma ve okuma — 1D ve 2D —'yi kapsar. Güncel fiyatlandırma IronBarcode lisanslama sayfasında bulunabilir.

Temel Sorun

Her iki Neodynamic SDK'sını tam bir barkod iş akışı için kullanan herhangi bir kod tabanında temel sorun, QR kodu okumanın hiçbir zaman mümkün olmamasıydı:

// Before:Neodynamic Barkod Okuyucu does not support QR codes
using Neodynamic.SDK.BarcodeReader;
using System.Drawing;

public string ReadQrCode(string imagePath)
{
    using var bitmap = new Bitmap(imagePath);
    var reader = new BarcodeReader();
    var results = reader.Read(bitmap);

    // Results are always null or empty for 2D barcodes
    if (results == null || !results.Any())
    {
        throw new NotSupportedException(
            "Neodynamic Barcode Reader does not support QR codes");
    }

    return results.First().Value;
}
C#

IronBarcode'a geçiş yaptıktan sonra, aynı işlem, format özelleştirmeye gerek olmadan standart bir okuma çağrısı haline gelir:

// After:IronBarcode reads QR codes with the same call used for all formats
using IronBarCode;

public string ReadQrCode(string imagePath)
{
    var result = BarcodeReader.Read(imagePath).FirstOrDefault();
    return result?.Value;
}
C#

2D barkod okuma başvurusunda bulunan her throw new NotSupportedException(...) yer tutucu, bu geçiş sırasında kaldırılır ve çalışır bir okuma çağrısı ile değiştirilir.

##IronBarcode vs Neodynamic Barcode: Özellik Karşılaştırması

ÖzellikNeodynamic Barcode ProfessionalNeodynamic Barkod OkuyucuIronBarcode
Code 128, EAN-13, UPC-A üretimiEvetYokEvet
QR Kodu, DataMatrix, PDF417 nesilEvetYokEvet
1D barkod okumaYokEvetEvet
QR Kodu okumaYokHayırEvet
DataMatrix okumaYokHayırEvet
PDF417 okumaYokHayırEvet
Yerel PDF barkod okumaHayırHayırEvet
Otomatik format algılamaYokHayırEvet
NuGet paketleri gerekli111 (her ikisini kapsar)
Lisans anahtarları gerekli11 (ayrı)1 (hepsini kapsar)
System.Drawing bağımlılığıEvetEvetHayır
Linux / Docker desteğiSınırlıSınırlıEvet
.NET 8 / .NET 9 desteğiEvetSınırlıEvet
Async yığın okumaHayırHayırEvet

Hızlı Başlangıç: Neodynamic Barkoddan IronBarcode'a Geçiş

Adım 1: Her İki Neodynamic Paketini Kaldırın

Her iki paket de kaldırılmalıdır. Kaldırma sırasını etkileyen paylaşılan bağımlılıkları yoktur:

dotnet remove package Neodynamic.SDK.Barcode
dotnet remove package Neodynamic.SDK.BarcodeReader
SHELL

Devam etmeden önce, her iki girişin de .csproj dosyasından silindiğini kontrol edin.

Adım 2:IronBarcode Ekle

dotnet add package IronBarcode
SHELL

Adım 3: Çift Lisans Yapılandırmasını Değiştirin

Her iki Neodynamic lisans bloğunu kaldırın ve bunları tek bir IronBarcode anahtar ataması ile değiştirin. Bu atama, uygulama başlatılırken bir kez yapılır — Program.cs, Startup.cs veya uygulamanın bileşim kökünde:

// Before: two license blocks, two products
using Neodynamic.SDK.Barcode;
using Neodynamic.SDK.BarcodeReader;

BarcodeProfessional.LicenseOwner = "Your Company";
BarcodeProfessional.LicenseKey = "GEN-LICENSE-KEY";

Neodynamic.SDK.BarcodeReader.BarcodeReader.LicenseOwner = "Your Company";
Neodynamic.SDK.BarcodeReader.BarcodeReader.LicenseKey = "READ-LICENSE-KEY";
// After: one key covers generation and reading across all formats
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Neodynamic lisans anahtarlarını tutan herhangi bir yapılandırma dosyası, ortam değişkeni veya sırrı taşıyan yer deposu, geçiş doğrulandıktan sonra devre dışı bırakılabilir.

Kod Göç Örnekleri

Bir Code 128 Barkodu Oluşturma

Neodynamic Yaklaşımı:

using Neodynamic.SDK.Barcode;
using System.Drawing.Imaging;

public void GenerateCode128(string data, string outputPath)
{
    var barcode = new BarcodeProfessional();
    barcode.Code = data;
    barcode.Symbology = Symbology.Code128;
    barcode.BarcodeUnit = BarcodeUnit.Pixel;

    System.Drawing.Image image = barcode.GetBarcodeImage();
    image.Save(outputPath, ImageFormat.Png);
}

IronBarcode Yaklaşımı:

using IronBarCode;

public void GenerateCode128(string data, string outputPath)
{
    BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
        .SaveAsPng(outputPath);
}

System.Drawing.Imaging ithalatı artık gerekli değil. BarcodeInfo örneği ve onun özellik atamaları tek bir yöntem çağrısına indirgeniyor. Boyutlandırma, açıklama ve çıkış formatı seçenekleri için, 1D barkodlar oluşturma kılavuzuna bakın.

Bir QR Kodu Oluşturma

Neodynamic Yaklaşımı:

using Neodynamic.SDK.Barcode;

public void GenerateQrCode(string data, string outputPath)
{
    var barcode = new BarcodeProfessional();
    barcode.Code = data;
    barcode.Symbology = Symbology.QRCode;
    barcode.QRCodeECL = QRCodeErrorCorrectionLevel.H;

    barcode.GetBarcodeImage().Save(outputPath, System.Drawing.Imaging.ImageFormat.Png);
}

IronBarcode Yaklaşımı:

using IronBarCode;

public void GenerateQrCode(string data, string outputPath)
{
    QRCodeWriter.CreateQrCode(data, 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
        .SaveAsPng(outputPath);
}

Üretilen kod çevirisi sadece API yüzeyini değiştirir. Bu geçişin getirdiği kritik fark, aynı uygulamanın artık ürettiği QR kodlarını aynıIronBarcode kütüphanesi ve aynı lisans aracılığıyla okuyabilmesidir. 2D barkod oluşturmanın tam işlenmesi için, 2D barkodlar oluşturma kılavuzuna bakın.

1D Barkodları Okuma

Neodynamic Yaklaşımı:

using Neodynamic.SDK.BarcodeReader;
using System.Drawing;

public string[] Read1DBarcodes(string imagePath)
{
    using var bitmap = new Bitmap(imagePath);
    var reader = new BarcodeReader();
    var results = reader.Read(bitmap);
    return results?.Select(r => r.Value).ToArray() ?? Array.Empty<string>();
}

IronBarcode Yaklaşımı:

using IronBarCode;

public string[] Read1DBarcodes(string imagePath)
{
    var results = BarcodeReader.Read(imagePath);
    return results.Select(r => r.Value).ToArray();
}

Bitmap yapımı ve System.Drawing ithalatı kaldırılıyor. IronBarcode, dosya yolunu doğrudan kabul eder. result.Value özelliği ismi her iki API'de de aynı, bu nedenle döndürülen değerleri işleyen aşağı akış kodu değişmiyor. Çoklu barkod görüntü okuma ve ön işleme seçenekleri için, görüntülerden barkod okuma kılavuzuna bakın.

QR Kodları Okuma (Daha Önce İmkansızdı)

Neodynamic Yaklaşımı:

// This method could not be implemented with Neodynamic Barcode Reader
public string ReadQrCode(string imagePath)
{
    throw new NotSupportedException(
        "Neodynamic Barcode Reader does not support QR codes");
}

IronBarcode Yaklaşımı:

using IronBarCode;

public string ReadQrCode(string imagePath)
{
    var result = BarcodeReader.Read(imagePath).FirstOrDefault();
    return result?.Value;
}

2D barkod okuma başvurusu yapan her throw new NotSupportedException(...) yer tutucu standart bir okuma çağrısı haline gelir. Yöntem gövdesi, bir hata fırlatmaktan çalışan bir uygulamaya dönüşüyor. QR kodları için özel bir işleme gerek yok;IronBarcode formatı otomatik olarak tanır.

PDF Belgelerden Barkod Okuma (Yeni Yetkinlik)

Neodynamic Yaklaşımı:

// Neodynamic Reader cannot read barcodes from PDF files directly
// An image extraction step using a separate library was required before reading
//Hayırdirect equivalent exists
C#

IronBarcode Yaklaşımı:

using IronBarCode;

public void ReadBarcodesFromPdf(string pdfPath)
{
    var results = BarcodeReader.Read(pdfPath);

    foreach (var result in results)
    {
        Console.WriteLine($"Value: {result.Value} | Format: {result.Format} | Page: {result.PageNumber}");
    }
}

IronBarcode, PDF belgelerden tüm sayfalarda doğrudan barkod okur. Her barkodun bulunduğu sayfa numarası sonuçta döndürülür. Bu yetkinlik, ek bir kitaplık ve arada bir görüntü çıkarma adımı gerektirmez.

Neodynamic Barkod API'den IronBarcode Haritalama Referansı

Neodynamic APIIronBarcode EşdeğeriNotlar
BarcodeInfo.LicenseOwner = "..."IronBarCode.License.LicenseKey = "key"Tek anahtarda birleştirildi
BarcodeInfo.LicenseKey = "..."(part of single key above)Ayrı bir sahip alanı yoktur
Neodynamic.SDK.BarcodeReader.BarcodeReader.LicenseOwner(removed)Gerekli değil
Neodynamic.SDK.BarcodeReader.BarcodeReader.LicenseKey(removed)Gerekli değil
new BarcodeInfo()BarcodeWriter.CreateBarcode(data, encoding)Statik, hiçbir örnek yok
barcode.Value = dataCreateBarcode'un ilk parametresiYaratılışta geçirilir
barcode.Symbology = Symbology.Code128BarcodeEncoding.Code128İkinci parametre
barcode.Symbology = Symbology.QRCodeBarcodeEncoding.QRCodeTam yolculuk artık destekleniyor
barcode.QRCodeECL = QRCodeErrorCorrectionLevel.HQRCodeWriter.QrErrorCorrectionLevel.HighestFarklı sınıf giriş noktası
barcode.GetImage().Save(path, ImageFormat.Png).SaveAsPng(path)Akıcı, ImageFormat enum yok
BarcodeReader.Read(bitmap)BarcodeReader.Read(imagePath)Dosya yolu, Bitmap'in yerini alıyor
result.Valueresult.ValueAynı özellik adı
Symbology.DataMatrixBarcodeEncoding.DataMatrixSadece üretim → üretim ve okuma
2D okuma için throw new NotSupportedException(...)BarcodeReader.Read(imagePath)Çalışan bir uygulama ile değiştirin

Yaygın Göç Sorunları ve Çözümleri

Problem 1: İki Paket Kaldırma Sırası

Problem: Sadece bir Neodynamic paketini kaldıran ve diğerini bırakan geliştiriciler, iki SDK'nın hiçbir tür paylaşmaması ancak bazı kaynak dosyaların aynı dosyada her iki tanım alanını da ithal etmesi nedeniyle derleme hatalarına neden olur.

Çözüm: Kaynakta herhangi bir değişiklik yapmadan önce her iki paketi de kaldırın. Her ikisi de kaldırıldıktan sonra, tüm using Neodynamic.SDK.Barcode ve using Neodynamic.SDK.BarcodeReader yönergelerini arayın ve birlikte kaldırın:

dotnet remove package Neodynamic.SDK.Barcode
dotnet remove package Neodynamic.SDK.BarcodeReader
SHELL

Sonra denetlemeyi yapınız:

grep -r "Neodynamic.SDK" --include="*.cs" .
SHELL

Problem 2: Çift Lisans Yapılandırması Temizliği

Problem: İki Neodynamic lisans bloğu genellikle farklı konumlarda ortaya çıkar - biri uygulama başlatma sınıfında ve biri bir servis başlatıcısında. Eğer sadece bir blok kaldırılırsa, kalan kod artık var olmayan bir tanım alanına referans verir ve derleyemez.

**Çözüm:**IronBarcode anahtarı eklenmeden önce tüm dört Neodynamic lisans özelliği atamalarını arayın ve birlikte kaldırın:

grep -r "LicenseOwner\|LicenseKey" --include="*.cs" .
SHELL

Dört satırın tümünü tek bir atama ile değiştirin:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Problem 3: Catch Bloklarından NotSupportedException'ın Kaldırılması

Problem: Neodynamic Reader kullanan bazı kod tabanları, 2D barkod okumalarının sessiz başarısızlığını özellikle ele almak için catch (NotSupportedException) bloklarını eklemiştir. Bu catch blokları, fırlatma koduyla birlikte kaldırılmalıdır; aksi takdirde, catch bölümü artık gerçekleşemeyecek bir kod yolunu referans alır.

Çözüm: Barcode ile ilgili dosyalardaki NotSupportedException'yi arayın ve her bir karşılaşmayı gözden geçirin. Eğer istisna bir 2D format okuma girişimine yanıt olarak yükseltiliyorsa, hem fırlatma hem de catch kaldırın:

grep -r "NotSupportedException" --include="*.cs" .
SHELL

Atan yanıt gövdesini BarcodeReader.Read(imagePath) ile değiştirin ve herhangi bir çağırıcıdan ilgili catch ifadesini kaldırın.

Neodynamic Barkod Geçiş Kontrol Listesi

Öncesi-Geçiş

  • Tüm Neodynamic paket referanslarını arayın: grep -r "Neodynamic.SDK" --include="*.csproj" .
  • Tüm Neodynamic using yönergelerini arayın: grep -r "using Neodynamic" --include="*.cs" . Lisans yapılandırma yerlerini arayın: grep -r "LicenseOwner|LicenseKey" --include="*.cs" .
  • Tüm BarcodeInfo örnekleme yerlerini arayın: grep -r "new BarcodeInfo\(\)" --include="*.cs" .
  • Tüm Neodynamic okuma çağrılarını arayın: grep -r "BarcodeReader.Read" --include="*.cs" .
  • Barkod yollarındaki tüm NotSupportedException kullanımlarını arayın: grep -r "NotSupportedException" --include="*.cs" . Özellikle 2D okuma boşluğunu kapatmak için eklenen üçüncü taraf kitaplığı (ZXing.Net veya benzeri) belirleyin — geçişten sonra kaldırılabilir Tüm Neodynamic lisans anahtarlarını kaydedin, böylece doğrulandıktan sonra sır mağazalarından devre dışı bırakılabilirler

Kod Güncelleme Görevleri

  1. dotnet remove package Neodynamic.SDK.Barcode çalıştır
  2. dotnet remove package Neodynamic.SDK.BarcodeReader çalıştır
  3. dotnet add package IronBarcode çalıştır
  4. Tüm using Neodynamic.SDK.Barcode ve using Neodynamic.SDK.BarcodeReader yönergelerini kaldırın
  5. Barkod operasyonları gerçekleştiren tüm dosyalara using IronBarCode ekleyin
  6. Her iki Neodynamic lisans yapılandırma bloğunu kaldırın
  7. Uygulama başlatıldığında bir kez IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY" ekleyin
  8. new BarcodeInfo() + özellik atamaları + barcode.GetImage().Save(...), BarcodeWriter.CreateBarcode(data, encoding).SaveAsPng(path) ile değiştirin
  9. QRCodeWriter kalıplarını uygun şekilde QRCodeWriter.CreateQrCode() kullanarak değiştirin
  10. BarcodeReader.Read(bitmap) çağrılarını new Bitmap(imagePath) yapımını kaldırarak ve dosya yolunu doğrudan BarcodeReader.Read(imagePath)'ya ileterek değiştirin
  11. 2D okuma için tüm throw new NotSupportedException(...) yer tutucuları kaldırın ve BarcodeReader.Read(imagePath) ile değiştirin
  12. Çağırıcılardan ilgili catch (NotSupportedException) bloklarını kaldırın
  13. Neodynamic 2D okuma boşluğunu kapatmak için özel olarak eklenmiş üçüncü taraf kitaplığını kaldırın

Geçiş Sonrası Testler

Code 128 barkod üretiminin önceki boyutlara ve DPI ayarlarına uygun çıktı ürettiğini doğrulayın QR Kod üretiminin taranabilir çıktı ürettiğini doğrulayın 1D barkod okumanın önceki Neodynamic Okuyucu uygulaması ile aynı değerleri döndürdüğünü doğrulayın

  • Daha önce NotSupportedException atan resimlerdeki QR Kod okumanın başarılı olduğundan emin olun Uygulamanın girdisinde görünüyorsa, DataMatrix ve PDF417 okumanın başarılı olduğunu doğrulayın Uygulama PDF belgeleri işliyorsa, PDF barkod okumayı test edin Tüm Neodynamic lisans anahtar referanslarının yapılandırma dosyalarından ve ortam değişkenlerinden kaldırıldığını doğrulayın Farklı bir kitaptık (mevcutsa) tam olarak kaldırıldığını ve kalan ithalatların onu referans almadığını doğrulayın

IronBarcode'a Geçmenin Temel Faydaları

Birleşik Okuma-Yazma Yetkinliği: Geçiş sonrası, IronBarcode'un üretebileceği her semboloji, aynı kütüphane aracılığıyla geri okunabilir. Neodynamic'in üreteci ve okuyucusu arasındaki asimetri — QR kodları, DataMatrix, PDF417 ve Aztec üretilebilir ama tüketilemez — kaldırıldı. Önceden, 2D okuma için çözüm veya üçüncü bir kitaplık gerektiren uygulamalar, ek bir entegrasyon çalışması olmadan o yeteneği kazanır.

Tek Lisans Yönetimi: Bir NuGet paketi, bir lisans anahtarı ve bir yapılandırma bloğu ile iki ayrı ürün aboneliğinin yerini alır. Yenileme, anahtar rotasyonu ve ortam değişkeni yönetimi, yarı yarıya daha az karmaşık hale gelir. İdari yükteki azalma, tek seferlik bir kazanç değil, devam eden bir avantajdır.

Doğal PDF Barkod Okuma: IronBarcode, PDF belgelerden doğrudan barkod okur, barkod değerleriyle birlikte sayfa numarası meta verilerini döndürür. Gömülü barkod içeren sevkiyat manifestoları, fatura belgeleri veya tıbbi kayıtları işleyen uygulamalar, barkod okuma desteği için ara bir görüntü çıkarma adımı veya ek bir PDF kütüphanesi gerektirmez. Kapsanan tüm sembolojiler ve giriş tiplerinin tam kümesi için desteklenen barkod formatlarının tam listesine bakın.

System.Drawing Bağımlılığının Ortadan Kaldırılması: Neodynamic SDK'ları System.Drawing'e bağlıdır ve bu durum, Linux ve Docker konteynerlerinde ek yerel kütüphane yapılandırması gerektirir. IronBarcode, hiç bir System.Drawing bağımlılığı taşımaz, bu nedenle aynı kod temeli Windows, Linux ve konteynerize edilmiş bulut ortamlarında platforma özgü yapılandırma değişiklikleri yapılmadan çalışır.

Tam Yetenek İçin Basitleştirilmiş Lisanslama Maliyeti: Her iki Neodynamic SDK'sına ek olarak 2D okuma için üçüncü bir kitaplığı da gerekli duyan bir proje, IronBarcode'un tek bir lisans altında sağladığı her şeyi gerçekleştirmek için üç bağımlılık için ödeme yapıyordu. Hem üretim hem de 2D okuma gerektiren projeler için, geçiş hem teknik ayak izini hem de lisanslama maliyetini tek bir ticari ürüne yoğunlaştırmakta. Geçerli fiyat bilgisi, IronBarcode lisanslama sayfasında mevcuttur.

Lütfen dikkate alın: Neodynamic ve ZXing.NET ilgili sahiplerinin tescilli markalarıdır. Bu site, Neodynamic veya ZXing.NET ile ilişkili, desteklenen veya tarafından finanse edilen değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez