PDFium Delphi Component Docs

PAdES imzalama · PDF 2.0 şifreleme · altı ISO standardı · Delphi / C++Builder / Lazarus

Rendering motorunun yapamadığı her şey, Object Pascal ile yazıldı

Bir motor sayfaları çizer ve yapıları okur. Belge imzalayamaz, şifreleme yazamaz, bir PDF standardını doğrulayamaz ya da linearized veya incremental bir revizyon üretemez. PDFium Delphi Component tüm bunları PDFium'un üzerine inşa eder: engine API'sinde karşılığı olmayan, 36 unit'e yayılmış 62.000'den fazla satır; bunlara ek olarak viewer ve erişilebilir okuyucu mimarisi — üstelik her satır kaynak kod olarak gelir

Tam genel bakışı okuyun Özellik kataloğuna göz atın

Motorun ötesinde ne elde edersiniz

Aşağıdaki her madde, API başvurusunda ve demolarda doğrulayabileceğiniz teslim edilmiş bir yetenektir

Dijital imzalar, yalnızca imza okuma değil

Motor, bir imza sözlüğünün varlığını raporlayabilir. Bu kitaplık bunu oluşturur: ETSI EN 319 142-1 uyarınca PAdES temel hattı B-B, B-T, B-LT ve B-LTA; RFC 5652'ye uygun CMS / CAdES SignedData; RFC 3161 zaman damgası istekleri; Document Security Store enjeksiyonu; arşiv zaman damgaları ve sertifika zinciri güven doğrulaması. Uzak ve HSM imzalama işlemi böler; böylece özel anahtarın hiçbir zaman iş istasyonuna ulaşması gerekmez

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

Yalnızca açılan değil, sizin yazdığınız şifreleme

Algoritma 2.B'nin R6 anahtar türetmesiyle ISO 32000-2 AES-256, eksiksiz akış ve dize şifreleme taraması, ISO/TS 32003 AES-GCM ve ISO/TS 32004 PDF MAC belirteçleri. AES, SHA-2, SHA-3, HMAC ve ASN.1 temel bileşenleri saf Object Pascal'dır ve yayımlanmış FIPS test vektörlerine göre doğrulanmıştır — dağıtımınıza veya güvenlik incelemenize hiçbir dış C kitaplığı girmez

SaveAsEncrypted; FPdfAes / FPdfSha512 / FPdfAsn1

Motorun sahip olmadığı bir PDF yazıcısı

Motor tek bir sıralı tüm dosya kaydı sunar. Bu kitaplık bunun üzerine kendi düzeltmelerini yazar: Annex F ipucu tablolarıyla doğrusallaştırılmış Fast Web View, nesne akışı ve xref akışı paketleme ve önceki çıktıyı bayt bayt koruyan kirli nesne artımlı düzeltmeleri. Hasarlı dosyalar, sessiz onarım yerine yapılandırılmış tanılamalarla katı, uyumlu ve kurtarma yükleme ilkeleri alır

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

Düz metnin ötesinde içerik çıkarma

GetStructuredText, karakter geometrisinden ve Tagged PDF anlamlarından sayfa / blok / satır / biçimli aralık hiyerarşisi oluşturur. ExtractTables çerçeveli ve boşluk hizalı tabloları algılar, birleştirilmiş aralıkları korur ve CSV veya JSON üretir. BuildReflowDocument, sabit yerleşimli bir PDF'i anlamsal HTML'e dönüştürür. XFDF ve FDF, form verilerini ve 18 ek açıklama alt türünü değiştirir — motorun hiç API sunmadığı biçimler

ExtractTables / BuildReflowDocument / ExportXFDF

Sınıfının en geniş IDE kapsamı

Delphi / C++Builder (RAD Studio XE5'ten 13.1 Florence'a) artı Lazarus / Free Pascal 3.8+, Win32 ve Win64. Üç IDE ailesi aynı fixture PDF'lerini ve regression suitelerini paylaşır

1257 Pascal + 515 C++ test durumu, bayt hizalı

Tam PDF standartları yelpazesi

PDF/A-1b çıktısı (SaveAsPdfA) + doğrulama (ValidatePdfA), artı madde düzeyinde sonuç kodları, işaretçi enjeksiyonu ve sürüm uyumu geçitleriyle PDF/UA, PDF/E, PDF/X, PDF/R ve PDF/VT doğrulayıcıları. PDF/A, ISO 19005'in 1'den 4'e kadar bölümlerini kapsar; PDF/X, X-6'ya ulaşır; PDF/VT, VT-2s akış paketlemesini içerir

Özel birimler FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Erişilebilirlik sesli okuma / düşük görme

TPdfReadingSession, ana bilgisayar TTS motorları için sesli okumayı yönetir (cümle düzeyinde okuma birimleri, kelime düzeyinde vurgulama, sesli metin eşlemesi); artı InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap düşük görme dönüşümleri ve canlı gece duo-ton görüntüleme

Çoğu sarmalayıcının hiç bulunmadığı bir erişilebilirlik katmanı

Sıfır kopyalı + iptal edilebilen aşamalı işleme

İşleme yolu, PDFium çıktısını doğrudan hedef TBitmap DIB arabelleğine yazar, kare başına tam sayfa piksel kopyasını atlar; RenderPageProgressive, yinelemeler arasında bir iptal belirteci yoklar ve işleme ortasında kesilebilir

Yüksek DPI'da kare başına bir width×height×4 bayt kopyası tasarrufu sağlar

Çok gigabaytlık PDF'ler için istek üzerine akış

LoadCustomDocument'ın istek üzerine TStream bağdaştırıcısı sayesinde, PDFium blok blok okur — çok gigabaytlık, uzak veya veritabanı destekli belgeler bellek içi kopya olmadan yüklenir ve kullanılabilir bir ilk görüntülemeye neredeyse anında ulaşılır

2.x GB belgeler: neredeyse anlık ilk görüntüleme

Üç bileşen + 33 paylaşımlı demo

TPdf (belge motoru), TPdfView (etkileşimli görüntüleyici), TPdfThumbnailView (küçük resim gezinmesi); üç IDE arasında paylaşılan 33 COMMON demo; görüntüleme, arama, form doldurma, birleştirme/bölme, toplu dışa aktarma, yazdırma, güvenlik denetimi, ön denetim raporları ve daha fazlasını kapsar

PDFViewer / PreflightReport / SecurityAudit / StandardsLab vb.

Güvenlik öncelikli varsayılanlar

Bağlantı eylemi izin listesi (LinkOptions), varsayılan olarak devre dışı bırakılan başlatma eylemleri ve risk yüzeylerini denetlemek için bir SecurityAudit demosu — tehlikeli eylemleri açık bırakan varsayılanlar yerine kutudan çıktığı gibi güvenli

Güvenliğe duyarlı finans / sağlık dağıtımlarına uygun

Kaynak dahil · telifsiz · uzun vadeli destek

Pascal kaynağı ile birlikte gelir, çalışma zamanı telifleri yok, uzun vadeli bakım. Win32/Win64 pdfium.dll ve pdfium.v8.dll (V8/XFA etkin) ile birlikte paketlenir, isteğe bağlı Skia işleme kancalarıyla

Dağıtım başına ücret yok

Kanıtlar

3IDE aileleri: Delphi / C++Builder / Lazarus
6+PDF standartları: A / UA / E / X / R / VT
33üç IDE'de paylaşılan COMMON demolar
1770+Pascal + C++ regression test durumları

PDFium Delphi Component'ı kim seçmeli

Belge görüntüleyiciler / okuyucular

Ürün kalitesinde işleme kalitesi ve etkileşim (metin seçimi, arama vurgulama, bağlantılar, yakınlaştırma, sürekli iki sayfa) gerektiren yerleşik PDF görüntüleyiciler

Erişilebilirlik / yardımcı teknoloji

Görme engelli kullanıcılar için sesli okuma yönetimi ve düşük görme dönüşümleri — çoğu PDF sarmalayıcısının hiç olmadığı bir katman

Uyumluluk / ön denetim araç zincirleri

PDF/A üretimi ve doğrulaması, PDF/UA erişilebilirliği, sürüm geçitleri ve CI dostu ön denetim raporları gerektirenler

Devasa / uzak belgeler

Tamamen bellekte tutulmak yerine istek üzerine yüklenmesi gereken çok gigabaytlık veya veritabanı destekli PDF'ler

Çapraz IDE ekipleri

Aynı anda Delphi, C++Builder ve Lazarus kullanan ekipler — tek bileşen seti, aynı test verileri, aynı demolar

Güvenliğe duyarlı dağıtımlar

Bağlantı / başlatma eylemleri üzerinde katı kontrol gerektiren finans, sağlık ve kamu senaryoları

Bir sayfayı birkaç satırda işleyin

Elle yazılmış C birlikte çalışabilirliği yok — doğrudan yerel Pascal bileşenleri:

uses PDFium;

var
  Pdf: TPdf;
  Bmp: TBitmap;
begin
  Pdf := TPdf.Create(nil);
  try
    Pdf.FileName := 'report.pdf';
    Pdf.Active := True;
    Pdf.PageNumber := 0;              // pages are zero-based

    Bmp := Pdf.RenderPage(0, 0,
      Round(PointsToPixels(Pdf.PageWidth, 150)),
      Round(PointsToPixels(Pdf.PageHeight, 150)));
    try
      Bmp.SaveToFile('page1.bmp');
    finally
      Bmp.Free;
    end;
  finally
    Pdf.Free;
  end;
end;

Sonraki adımlar

Ürün genel bakış ve Hızlı Başlangıç ile başlayın, tam özellik kataloğuna ve Örneklere göz atın ya da en son teslimatlar için Sürüm Notları'nı okuyun