PDFiumPas sürüm notları
PDFiumPas kullanıcıya görünür özellikleri, düzeltmeleri, görüntüleyici iyileştirmeleri, belge üretimi, PDF/A çıktısı, render işlemleri ve dokümantasyon güncellemeleri için sürüm geçmişi.
Son sürüm
- En son sürüm: 2.21.3; Yayın tarihi:
Version 2.21.12
Düzeltildi (Fixed)
- Açık PDF 1.5'ten PDF 1.7'ye kaydetmeleri artık gerekli
/OCGsveya/Dgirişlerinin eksik olduğu, geçersiz varsayılan yapılandırma değerleri ve dizi olmayan durum girişleri dahil hatalı biçimlendirilmiş katalog/OCPropertiesyapılarını reddeder
Version 2.21.11
Düzeltildi (Fixed)
- Açık PDF sürümü kaydetmeleri artık açıklama sözlüklerinin gerekli
/Subtypeveya/Rectgirişini atladığı doğrudan veya dolaylı Sayfa/Annotsgirişlerini reddeder
Version 2.21.10
Düzeltildi (Fixed)
- Açık PDF 1.7 kaydetmeleri artık coğrafi uzaysal
/Type /Measure /Subtype /GEOsözlüklerinin ve Projeksiyon açıklamalarının/BaseVersion /1.7ve/ExtensionLevel 3veya daha yeni ile/Extensions /ADBEbildirmesini gerektirir
Version 2.21.9
Düzeltildi (Fixed)
- Açık PDF 1.7 kaydetmeleri artık RichMedia açıklamalarının ve
RichMediaExecuteeylemlerinin/BaseVersion /1.7ve/ExtensionLevel 3veya daha yeni ile/Extensions /ADBEbildirmesini gerektirir
Version 2.21.8
Düzeltildi (Fixed)
- Açık PDF 1.7 kaydetmeleri artık PRC'yi temel bir PDF 1.7 özelliği olarak ele almak yerine PRC 3D akışlarının
/BaseVersion /1.7ve/ExtensionLevel 1veya daha yeni ile/Extensions /ADBEbildirmesini gerektirir
Version 2.21.7
Düzeltildi (Fixed)
- Açık PDF 1.4 ve daha eski sürüm kaydetmeleri artık gömülü JPEG 2000 yumuşak maske kanalları PDF 1.5 veya daha yenisini gerektirdiğinden, açık
0değeri dahil görüntü XObject/SMaskInDatagirişlerini reddeder
Version 2.21.6
Düzeltildi (Fixed)
- Açık PDF 1.4 ve daha eski sürüm kaydetmeleri artık PDF 1.5 veya daha yenisini gerektiren 16 bit görüntü XObject'lerini reddederken, PDF 1.5'ten PDF 1.7'ye kadar hedefler
/BitsPerComponent 16görüntü verilerini korur
Version 2.21.5
Düzeltildi (Fixed)
- Açık PDF 1.4 ve daha eski sürüm kaydetmeleri artık PDF 1.5 veya daha yenisini gerektiren belge kataloğu
/PageLayout /TwoPageLeftve/TwoPageRightdeğerlerini reddederken, PDF 1.5'ten PDF 1.7'ye kadar hedefler istenen iki sayfalı düzeni korur
Version 2.21.4
Düzeltildi (Fixed)
- Açık PDF 1.3 kaydetmeleri artık PDF 1.4 veya daha yenisini gerektiren belge kataloğu
/Langgirişlerini reddederken, PDF 1.4'ten PDF 1.7'ye kadar hedefler dil tanımlayıcısını korur
Version 2.21.3
Düzeltildi (Fixed)
- PDF 1.3 açık kaydetmeleri artık PDF 1.4 veya sonrasını gerektiren belge
/EmbeddedFilesad ağaçlarını, eski dosya belirtimi aracılığıyla başvurulan gömülü dosya akışlarını reddetmeden reddeder
Version 2.21.2
Düzeltildi (Fixed)
- Son sürüm: 2.21.4; Yayın tarihi:
Version 2.21.1
Düzeltildi (Fixed)
- Hibrit referans doğrulaması artık aynı revizyondan klasik xref yer tutucularından önce ek
/XRefStmgirişlerini uygular; böylece uyumluluk tablosu serbest olarak işaretlediğinde sıkıştırılmış açıklamalar ve sürümle sınırlı diğer nesneler artık atlanmaz
Version 2.21.0
Değiştirildi (Changed)
- Tüm Delphi, C++Builder ve Lazarus örnek görüntüleyicileri komut satırının ilk argümanı olarak iletilen bir PDF'yi açabilir; C++Builder ve Lazarus için
MultiPageViewerörnekleri tümünü seç ve kopyala için açık kısayollar sağlar
Düzeltildi (Fixed)
- Son sürüm: 2.21.12; Yayın tarihi:
Version 2.20.0
Değiştirildi (Changed)
- Tüm Delphi, C++Builder ve Lazarus örnek görüntüleyicileri artık açma, arama, kaydetme, yazdırma, yakınlaştırma ve sayfa gezintisi için tutarlı kısayollar sağlar; her
ViewerInteractionLabvaryantı aynı zamanda sayfa atlamayı, doğrulanmış %10–600 manuel yakınlaştırmayı, kalıcı etkileşim günlüklerini ve tıklama koordinatı gidiş-dönüş kontrollerini destekler
Version 2.19.1
Düzeltildi (Fixed)
- Açık PDF sürüm doğrulaması artık sıkıştırılmış nesne girişleri dahil klasik, hibrit veya xref-akış biçiminin etkin revizyon zincirini takip eder; böylece geçersiz kılınan, serbest bırakılan ve başvurulmayan nesneler artık yanlış özellik sürümü hatalarına neden olmaz
Version 2.19.0
Değiştirildi (Changed)
- C++Builder ve Lazarus için ek, görüntü çıkarma, metin çıkarma, sayfa dönüştürme ve bölme örnekleri artık adanmış çıktı klasörleri veya güvenli şekilde sonlandırılmış dosyalar, sıfır dolgulu kararlı adlar, duyarlı ilerleme güncellemeleri ve öğe başına hata sayısı içeren tamamlanma özetleri kullanır
Düzeltildi (Fixed)
- C++Builder için
CJKTextLabartık dışa aktarılan PDFium düzenleme işlevleri aracılığıyla metni ölçer;MergePDFise belirsiz VCL ileti aşırı yüklemesinden kaçınarak RAD Studio 37'de temiz derlemeleri geri yükler
Version 2.18.3
Düzeltildi (Fixed)
- PAdES B-LTA Belge Zaman Damgası artık keşfedilebilir bir imza alanı olarak kaydedilir — ilk sayfanın
/Annotsve AcroForm/Fieldsalanları aracılığıyla erişilebilen görünmez Widget (ETSI EN 319 142-1 §5.4.3) — imza alanlarını sıralayan doğrulayıcıların bulamadığı erişilemeyen öksüz nesne yerine; mevcut açıklamalar ve alanlar korunur
Version 2.18.2
Düzeltildi (Fixed)
- PAdES imzalama ve klasik çapraz referans yazma artık bayt ofseti 10 basamaklı sabit alan genişliğini (~9,3 GB) aştığında yazılmamış
/ByteRangeyer tutucuyu sessizce bırakmak (geçersiz imza üretir) veya 20 baytlık xref satırını aşmak (ISO 32000-1 §7.5.4) yerine belirgin bir hata tetikler; çapraz referans akış çıktısı 8 baytlık ikili alanlar kullanır ve etkilenmez
Version 2.18.1
Düzeltildi (Fixed)
- PAdES imzalama artık tam nesne başlığına (ISO 32000-1 §7.5.3) ve referansın gerçek nesil numarasına göre ilk sayfanın
/Annots,/AcroFormve/Fieldsdolaylı referanslarını çözer; önceki basit alt dize araması nesne numarasını daha uzun bir numara içinde eşleştiriyordu (5 0 R'yi15 0 obj'e çözerek) ve sabit kodlanmış nesilgen>0olan nesneleri atladı; bu durum imza alanı dizilerini bozuyor veya geçerli belgeleri reddediyordu - Katalog, ilk sayfa,
/Annots,/AcroFormveya/Fieldsbir nesne akışı içinde bulunduğunda, imzalama artık belgeyi doğrudan reddetmek yerine başarısız olmadan önce genişletilmiş bir kopyada yeniden dener
Version 2.18.0
Eklendi (Added)
ReadPdfVersionInfo, PDF akışından başlık sürümünü, etkili temel sürümü, katalog geçersiz kılmasını ve Adobe geliştirici uzantısı düzeyini raporlar
Değiştirildi (Changed)
- PDF 1.3–1.7 açık kaydetmeleri artık katalog, sayfa kaynakları, XFA, redaksiyon ve geliştirici uzantısı yapılarını sahip nesnelerinin bağlamında doğrular; şifrelenmiş açık sürümlü çıktı ve PDF 1.3 artımlı normalleştirme, belge bütünlüğünü korumak için reddedilir
- Dosya yolu kaydetmeleri artık bitişik geçici bir dosyaya yazar ve hedefi yalnızca tüm sıkıştırma, normalleştirme ve sürüm denetimleri başarıyla tamamlandıktan sonra değiştirir
Düzeltildi (Fixed)
- PDF 1.3 çıktısı artık gerekli tam
/ProcSetkaynağını taşır ve yalnızca PDF 1.3 başlangıç grafik durumu değerlerini tekrarlayan PDF 1.4 saydamlık anahtarlarını kaldırır - Hibrit referanslar, xref akış ve nesne akışına sahip dosyalar artık klasik xref sıkıştırıcısı tarafından üzerine yazılmaz; böylece sıkıştırılmış nesne girişlerinin bırakılması önlenir
- İlgisiz kaynak eşlemlerindeki dizeler, yorumlar veya dize içindeki saydamlık anahtarlarını veya katalog özelliklerini anımsatan adlar artık yanlış hedef sürüm hatalarına neden olmaz
Version 2.17.0
Eklendi (Added)
- PAdES imzaları artık ilk sayfanın
/Annotsdizisinde ve AcroForm/Fieldsdizisinde görünmez Widget açıklamaları olarak kaydedilir; mevcut açıklamalar ve form alanları korunur
Değiştirildi (Changed)
- PDF/A, PDF/X, PDF/E, PDF/R, PDF/UA, PDF/VT ve PAdES artımlı güncellemeleri artık kaynak belgenin çapraz referans gösterimini korur: xref-akış belgeleri, ISO 32000-1 §7.5.8.1 gereği xref-akış güncellemesi alırken klasik belgeler xref tablosunu almaya devam eder
- Çapraz referans ofsetleri,
startxref,/Prev, PAdES ByteRange değerleri ve SHA-256 aralık işleme artık parçalı hashing ile 64 bit konumlar kullanır; bu sayede 64 bit derlemelerde 2 GB'tan büyük dosyalara olanak tanır - Oluşturulan yazılabilir XMP paketleri artık son paket talimatından önce 2048 bayt dolgu rezerve eder
Version 2.16.10
Düzeltildi (Fixed)
- Nesne akış genişletme artık artımlı güncellemenin nesne akışından normal tanımlamaya taşıdığı nesnelerin eski kopyalarını geri yüklemez (ISO 32000-1 §7.5.7); bu tür dosyalarda uyumluluk denetimleri ve işaret enjeksiyonu daha önce eski katalog veya meta veri sözlüğünü çözüyordu
Version 2.16.9
Düzeltildi (Fixed)
- Free Pascal'da girişi geçerli UTF-8 olmayan metin dizeleri bayt bayt Latin-1 olarak genişletilir ve UTF-16BE onaltılık dizeler olarak yazılır; daha önce ham yüksek baytlar değişmez dizeye sızıyordu ki bu PDF 1.7 metin dizesi kodlaması için yasal değildir
- Akış kod çözme artık RFC 1950 zlib sarmalayıcısı olmayan ham deflate verilerini (bozuk yazıcıların yaygın hatası) tanır ve ham modda açar; böylece uyumluluk taramaları bu tür akışlara karşı sessizce kör kalmaz
Version 2.16.8
Düzeltildi (Fixed)
- Kaydetme sonrası işlem yolu tarafından yazılan artımlı güncellemeler artık ISO 32000-1 §14.4 gereği fragman
/IDdizisinin ikinci (değişen) ögesini yeniler; her iki öge daha önce aynen kopyalanıyordu, dolayısıyla önbelleğe alma ve eşitleme araçları her güncellemeden sonra değişmez bir tanımlayıcı görüyordu
Version 2.16.7
Düzeltildi (Fixed)
- Uyumluluk taramalarının kullandığı akış gövdesi boşaltma artık
streamanahtar sözcüğünün ardından satır sonu gelmesini gerektirir (ISO 32000-1 §7.3.8.1);(downstream)gibi değişmez bir dize içindeki sözcük daha önce bir sonrakiendstream'e kadar tüm sonraki yapıyı boşaltıyordu ve gerçek ihlalleri bayt düzeyindeki denetimlerden gizliyordu - PDF/X ve PDF/E yasaklı özellik taramaları ayrıca değişmez dizeleri ve yorumları da boşaltır (§7.2.2); böylece
/Title (see /JavaScript docs)gibi bir değer veya yorumlanmış bir belirteç artık yanlışJavaScript,AcroFormveyaLZWDecodetespiti üretmez
Version 2.16.6
Düzeltildi (Fixed)
- PDF/VT DPM girişleri artık yazma sırasında belgelere göre doğrulanır: ISO 16612-2 §6.6 NMTOKEN kuralını veya Ek E kayıt sahibi ön eki kuralını ihlal eden anahtar adları ile yinelenenler, DPart sözlüğüne yazılmak yerine reddedilir — boşluk içeren bir ad daha önce sahte bir anahtar/değer çiftine bölünüyor ve sözlüğü bozuyordu
Version 2.16.5
Düzeltildi (Fixed)
- Değeri onaltılık dize olan sözlük girişini silme (örn.
/Check <...>) artık tüm girişi kaldırır; enjektörler daha önce geride sahipsiz onaltılık değer bırakıyordu ve sözdizimsel olarak bozuk bir sözlük üretiyordu - Dolaylı referansı belirteçler arasında yeni satırlar kullanan girişi silme (ISO 32000-1 §7.3.10 isteğe bağlı boşluğa izin verir) artık nesil numarasını ve
Ranahtar sözcüğünü geride bırakmaz
Version 2.16.4
Düzeltildi (Fixed)
- Maksimum nesne numarası taraması artık nesne başlıklarının satır başında olmasını gerektirmez (ISO 32000-1 §7.5.3 bunlardan önce isteğe bağlı boşluk veya sınırlayıcıya izin verir); böylece enjektörler artık gömülü
N G objbaşlığıyla çakışan ve dosyayı sessizce bozan bir nesne numarası tahsis edemez; nesne numaraları Ek C tavanıyla sınırlandırılır /Length'i dolaylı referans olan akışlar artık başvurulan tam sayı nesnesini çözer ve sonendstreamile eşleştiğinde değerini kullanır; bu tür akışlar daha önce gömülü PDF ekleri için tipik olanendstreambayt dizisini yasal olarak içeren gövdeleri kısaltan desen aramasıyla sınırlandırılıyordu
Version 2.16.3
Düzeltildi (Fixed)
- Akış sıkıştırma geçişleri, çapraz referans akışına sahip belgeleri (klasik
traileranahtar sözcüğü olmayan PDF 1.5+ dosyaları) değiştirmeden iletir; yeniden oluşturma yolu daha öncestartxref'i tablo konumu olarak yanlış ayrıştırıyor ve tahmini bir fragman birleştiriyordu; bu durum açılamaz dosya üretebiliyordu - Sıkıştırıcı XMP meta veri akışlarını atlar; böylece PDF/A belgesi zorunlu filtresiz meta veri akışını korur (ISO 19005-1 §6.7.2) ve harici dosya akışlarına dokunmaz (
/File/FFilter) - Yeniden oluşturulan çapraz referans tablosu, akış içeriği olmayan belge kopyasını tarar; böylece akışların ikili içeriği artık nesne başlıklarını sahte olarak gösteremez veya tabloyu şişiremez; yeniden oluşturulan fragmanın
/Size'ı artık gerçek tabloyu yansıtır ve nesne numaraları Ek C tavanıyla sınırlandırılır - Özgün çapraz referans tablosu araması yalnızca-CR satır sonlarını kabul eder (ISO 32000-1 §7.5.1) ve artık
startxrefiçindekixrefharflerini eşleştiremez; akış anahtar sözcüğü taraması, başka yerde kullanılan aynıendstreamkuyruk koruyucu mekanizmasını kazanmıştır ve artık atlanan akış gövdelerinin ötesine geçer
Version 2.16.2
Düzeltildi (Fixed)
- Bayt düzeyindeki PDF okuyucularda tam sayı ayrıştırma artık ISO 32000-1 §7.3.3 tarafından izin verilen açık
+işaretini kabul eder ve taşacak rakam dizilerini reddeder; böylece düşmanca veya bozuk belgeler artık ayrıştırılan uzunlukları ve ofsetleri yanıltıcı değerlere sararak bozamaz
Version 2.16.1
Düzeltildi (Fixed)
- PDF/UA enjektörü katalog
/Langdeğerini doğru PDF metin dizesi olarak yazar; daha önce değeri XML kaçış aracından geçiriyordu, dolayısıyla&veya parantez içeren dil etiketi bozuk giriş üretiyordu ve ASCII dışı girdi ham UTF-8 olarak yazılıyordu - PDF/E Info girişi
/ISO_PDFEVersion, paylaşılan metin dizisi kodlayıcısını kullanır; böylece ASCII dışı değerleri PDF 1.7'de yasal tutar - XMP paketleri için XML kaçış işlemi, XML 1.0'da yasadışı olan denetim karakterlerini atar; böylece bozuk kaynak belgeden kopyalanan meta veriler artık tüm meta veri akışının hatalı biçimlendirilmesine neden olamaz
- PDF-XMP tarih dönüşümü, tarih alanlarının sayısal olduğunu doğrular ve eksik dakika alanını doldurur; böylece oluşturulan XMP'de hatalı biçimlendirilmiş ISO 8601 tarihlerini önler; Windows dışı platformlarda geri dönüş zaman damgası artık yalnızca tarih yerine günün saatini de içerir
Version 2.16.0
Eklendi (Added)
- Akış kod çözme artık FlateDecode'dan sonra
/DecodeParmstahmin edicilerini (PNG tahmin edicileri 10–15 ve TIFF tahmin edicisi 2, ISO 32000-1 §7.4.4.4)/Colors,/BitsPerComponentve/Columns'a uymak suretiyle yeniden oluşturur; tahmin edicili sıkıştırılmış nesne akışları — PDF 1.5+ yazıcılarının yaygın seçimi — daha önce farksal baytlar gösteriyordu; dolayısıyla taşıdıkları nesneler uyumluluk taramaları ve işaret enjeksiyonu için sessizce görünmezdi
Düzeltildi (Fixed)
- FlateDecode algılaması artık alt dize eşleştirme yerine
/Filterdeğerini ad veya dizi olarak ayrıştırır; böylece basamaklı filtre zincirleri ve sözcüğün ilgisiz değerlerde görünmesi artık yanlış şişirme tetiklemez; desteklenmeyen zincirler önceki gibi ham baytlara geri döner
Version 2.15.1
Düzeltildi (Fixed)
- Sözlük tarayıcı artık
<</>>'yi (ISO 32000-1 §7.2.2) dengelerken değişmez dizeleri, onaltılık dizeleri ve yorumları atlar; böylece(A >> B)gibi değerler veya kapanış sınırlayıcısının yanındaki onaltılık dize içeren sözlükler, fragman, katalog ayrıştırma ve uyumluluk taramaları sırasında artık kısaltılmaz - Değişmez dize çıkarma artık §7.3.4.2 Tablo 3 tam kaçış kümesini —
\n \r \t \b \f, sekizli\ddd, satır devamlarını ve kaçışsız EOL normalleştirmesini — kaçış karakterini aynen kopyalamak yerine kod çözer; böylece sekizli kaçış kullanan yazıcılar için/Producer,/GTS_PDFXVersionve/ISO_PDFEVersionkarşılaştırmalarını geri yükler - İşaret enjektörleri tarafından yazılan değişmez dizeler artık CR, LF ve diğer denetim karakterlerinden kaçar; böylece değerler okuyucu tarafında bayt bayt EOL normalleştirmesini atlatır
Version 2.15.0
Düzeltildi (Fixed)
- PDF/A, PDF/X, PDF/E, PDF/R, PDF/UA ve PDF/VT işaret enjektörleri ile PAdES ve DSS imzalama yolları tarafından yazılan artımlı güncellemeler artık kaynak belgenin kalıcı dosya tanımlayıcısını korur: fragman
/IDdizisinin ilk ögesi, ISO 32000-1 §14.4 gereği aynen aktarılır ve yalnızca ikinci (değişen) öge yenilenir; daha önce her iki öge yeniden oluşturuluyordu, dolayısıyla harici referanslar ve uzun vadeli doğrulama iş akışları her kaydetmeden sonra farklı bir belge kimliği görüyordu - PAdES imzaları, DSS ekleme ve Belge Zaman Damgası B-LTA artık kaynak fragmandan
/Inforeferansını (ISO 32000-1 §7.5.6) aktarır; böylece belge özellikleri imzalamadan sonra artık okuyucu panellerinden kaybolmaz; Belge Zaman Damgası fragmanı ayrıca bir/IDdizisi kazanır - Çapraz referans akışlı belgeler için fragman
/Infogeri dönüş mekanizması artık XRef akış sözlüğünü doğru bulur ve referansın nesil numarasını korur; daha önce uyumlu PDF 1.5+ dosyalarında hiçbir zaman eşleşmiyordu ve/Info'yu sessizce bırakıyordu
Version 2.14.4
Düzeltildi (Fixed)
TPdf.SignPadesveSignPadesBytestarafından yazılan imza sözlüğünün/Mtarihi artık ISO 32000-1 §7.9.4 gereği zorunluD:ön ekini veZUTC ofseti işaretleyicisini taşır; katı doğrulayıcılar daha önce imzalama zamanını hatalı biçimlendirilmiş tarih dizesi olarak reddediyordu
Version 2.14.3
Düzeltildi (Fixed)
- Paylaşılan PDF okuyucusunda sözlük anahtar araması artık tam ad belirteçlerini eşleştirir (ISO 32000-1 §7.3.5); daha önce
/Length'ten önce/Length1listeleyen sözlüğe sahip akış (FontFile akışları için tipik) yanlış bayt sayısına kısaltılıyordu; bu durum yazı tipi, CMap veya meta veri akışlarını okuyan PDF/A, PDF/UA ve diğer uyumluluk taramalarını sessizce kör ediyordu - Fragman
/Encrypt,/Root,/Sizeve/Infoanahtar aramaları artık aynı ön eki paylaşan uzun anahtarları (örn./EncryptMetadata) eşleştirmez - Nesne akışı genişletme artık bozuk veya düşmanca
/Ndeğerine güvenmez: tam sayı olmayan değerler artık başlatılmamış sayı yerine 0 verir ve/First'ten türetilen üst sınır, hatalı biçimlendirilmiş belgeler taranırken aşırı tahsisleri önler
Version 2.14.2
Düzeltildi (Fixed)
- PDF/X, PDF/VT, PDF/UA, PDF/E ve PDF/R işaret enjektörleri artık şifrelenmiş kaynak belgeleri düz metin güncelleme bölümleri eklemek yerine değiştirmeden kopyalar; önceki davranış, son fragmanı
/Encryptgirişini kaybeden dosyalar üretiyordu (ISO 32000-1 §7.5.6), dolayısıyla uyumlu okuyucular şifrelenmiş gövdeyi düz metin olarak okuyordu TPdf.SignPades,SignPadesBytesveInjectPadesDssMarkersartık kaynak belge şifrelendiğinde sessizce bozuk veya doğrulanamaz dosya vermek yerineEPadesCryptotetikler; imzalamadan veya DSS materyali eklemeden önce şifrelemeyi kaldırın
Version 2.14.1
Düzeltildi (Fixed)
TPdf.SignPadesveSignPadesBytesartık imza sözlüğünün dört/ByteRangealanını geriye dönük olarak doldurur; daha önce son üç alan sıfır yer tutucularında kalıyordu, dolayısıyla üretilen imzalar boş bayt aralığı bildiriyor ve uyumlu doğrulayıcılarda doğrulamayı geçemiyordu- PAdES B-LTA Belge Zaman Damgası sözlükleri aynı geriye dönük
/ByteRangedoldurma düzeltmesini alır ValidatePadesComplianceartık bayt aralığı boşluğunun onaltılık/Contentsdeğerini içerdiği standart imza düzenini kabul eder ve ikinci aralık segmentinin tam olarak dosya sonunda bittiğini doğrular; daha önce yalnızca boşluksuz aralıklar kapsam denetimini geçiyordu
Version 2.14.0
Eklendi (Added)
TPdf.ExportXFDF, tüm sayfalardaki her form alanı değerini ve açıklamayı bir XFDF belgesine (ISO 19444-1) serileştirir; hiyerarşik form değerleri için<fields>ve desteklenen tüm açıklama alt türleri (text, highlight, underline, strikeout, squiggly, line, circle, square, caret, polygon, polyline, stamp, ink, freetext, fileattachment, sound, link, redact) için<annots>yayınlarTPdf.ImportXFDF, XFDF belgesini yüklenen PDF'e geri okur, karşılık gelen sayfalarda açıklamaları yeniden oluşturur ve alan değerlerini Widget açıklamalarına uygularTPdfAnnotationkaydıName(NM),Subject,ModificationDate(M),CreationDate,Icon,Opacity(CA), çizgi uç noktaları, çokgen/çizgi poligon köşeleri ve ink listesi jest alanlarını kazandı; böylece XFDF döngüleri tam açıklama meta verilerini korur- Delphi, C++Builder ve Lazarus demo paketlerinde yeni
XfdfLabörneği dışa aktarma/içe aktarma döngüsünü gösterir
Version 2.13.6
Düzeltildi (Fixed)
ValidatePdfAartık/Type /Metadataveya/Subtype /XMLolmayan katalog/MetadataakışlarınıpvaiMissingXmpMetadataaracılığıyla eksik XMP meta verisi olarak ele alır- PDF/A ön kontrol iletileri artık
pvaiMissingXmpMetadata'yı Meta Veri olarak sınıflandırır ve/Type /Metadata,/Subtype /XML, filtresiz XMP vepdfaidetiketleri içeren katalog/Metadataakışını önerir
Version 2.13.5
Düzeltildi (Fixed)
ValidatePdfAartık görünüm sözlüğü olmayan Widget açıklamalarını ve/APgerektiren ancak bulundurmayan PDF/A-2 / PDF/A-3 açıklamalarınıpvaiAnnotationApDictViolationaracılığıyla raporlar- PDF/A ön kontrol iletileri artık
pvaiAnnotationApDictViolation'ı, işaret eklemenin düzeltemeyeceği içerik olarak sınıflandırır
Version 2.13.4
Düzeltildi (Fixed)
ValidatePdfAartık/Iveya/Interpolatedeğeritrueolan PDF/A-2 ve PDF/A-3 satır içi görüntülerini mevcut XObject Image sözlüğü kapsamıyla uyumlu biçimdepvaiImageDictionaryViolationaracılığıyla raporlar- PDF/A ön kontrol iletileri artık
pvaiImageDictionaryViolation'ı, işaret eklemenin düzeltemeyeceği içerik olarak sınıflandırır
Version 2.13.3
Düzeltildi (Fixed)
ValidatePdfAartık içerik akışlarında/LZWDecodeveya kısaltılmış/LZWfiltresi kullanan PDF/A-1 satır içi görüntüleri, mevcut PDF/A-2 ve PDF/A-3 satır içi görüntü kapsamıyla uyumlu biçimdepvaiInlineImageLzwForbiddenaracılığıyla raporlar- Satır içi görüntü filtre tarayıcı artık
/GS1gibi öncü kaynak adlarının ötesine geçer; böylece daha geniş PDF/A-1 içerik akışlarını tararken kilitlenmelerden kaçınır
Version 2.13.2
Eklendi (Added)
TPdf.SetFocusedFormFieldText,FocusedFormFieldTextile simetrik biçimdeFORM_ReplaceSelectionaracılığıyla o anda odaklanan form alanının düzenleme arabelleğine metin yazar. AcroForm metin/açılan kutu alanları için değer odak kaybedildiğinde/V'ye taahhüt edilir ve kalıcıdır; XFA metin alanları için yazma yalnızca bellek içi arabellekte gerçekleşir (PDFium, XFA değerlerini veri kümesi paketine geri uzlaştırmak için genel API sunmaz, bu nedenle kaydetme yoluyla kalıcı değildir)- JavaScript ana bilgisayar platformu artık belgenin XFA olup olmadığından bağımsız olarak V8 motoru kullanılabilir olduğunda her zaman bağlanır — böylece gömülü AcroForm JavaScript'i (belge düzeyinde betikler, alan hesaplamaları,
app.alert) de yürütülebilir. Daha öncem_pJsPlatformyalnızca XFA belgeleri için bağlanıyor ve AcroForm JS sessizce devre dışı kalıyordu
Değiştirildi (Changed)
- JavaScript platformu bağlantısı artık
InitializeFormFill'deki XFA kararından bağımsız —m_pJsPlatformtablosu,V8FeaturesAvailabledoğru olduğunda her zaman oluşturulur, XFA sürümü/geri çağrı bağlantısından sonra uygulanır, içine yerleştirilmez
Version 2.13.1
Eklendi (Added)
- Yeni ana bilgisayar etkinlikleri, v2.13.0 form doldurma geri çağrılarının daha önce yuttuğu bilgileri ortaya çıkarır:
OnXfaUriAction,OnXfaPageCountChanged,OnXfaFocusChange,OnXfaEmail,OnXfaHttpRequest,OnXfaOpenFile,OnJavaScriptBeep,OnJavaScriptPrint,OnJavaScriptMail,OnJavaScriptSubmitForm. Her olay atanmadığında var olan no-op davranışını varsayılan olarak benimsediğinden mevcut ana bilgisayar uygulamaları etkilenmez - Salt okunur
TPdf.XfaFormPacketsözelliği, tüm XFA paketlerinin tek seferlik anlık görüntüsünü (TXfaPacketList) döndürür; böylece daha önce bildirilen ancak kullanılmayanTXfaPacket/TXfaPacketListtürlerini doldurur - XFA'ya özgü PDFium hata kodları
FPDF_ERR_XFALOAD/FPDF_ERR_XFALAYOUTartık bağlanmış veLastPdfErroraracılığıyla ortaya çıkarılmaktadır; XFA yükleme/düzenleme hataları için genel "Unknown error" hatası ile değiştirilir
Değiştirildi (Changed)
FFI_DoURIActionWithKeyboardModifierartık bir XFA alanından URI yürütmeden önceOnXfaUriAction'a danışır; ana bilgisayara veto hakkı tanır (güvenlik: kötü amaçlı XFA alanı daha önce koşulsuz olarak rastgele URL'ler başlatabiliyordu). Atanmamış işleyiciler önceki varsayılanShellExecuteW'yi korurDecodeFormFieldTypeartık XFA alan türlerini 8 dallı açık durum bloğu yerineIsXfaFormFieldaracılığıyla yönlendirir; böylece enum'u ordinal ofsete göreFPDF_FORMFIELD_XFA_*ile hizalı tutar
Düzeltildi (Fixed)
ValidatePdfAartık PDF 1.5 çapraz referans akışları veya nesne akışları kullanan PDF/A-1 bildirimlerini yenipvaiPdfA1Pdf15Structuresorunu ile raporlar; PDF/A-2 ve PDF/A-3 için nesne akışlarına izin vermeye devam eder
Version 2.13.0
Eklendi (Added)
- Tam XFA (XML Forms Architecture) çalışma zamanı desteği:
TPdf.InitializeFormFillartık 14FPDF_FORMFILLINFOsürüm 2 geri çağrısının tamamını (FFI_DisplayCaret,FFI_GotoURL,FFI_PageEvent,FFI_PopupMenu,FFI_OpenFile,FFI_EmailTo,FFI_UploadTo,FFI_GetPlatform,FFI_GetLanguage,FFI_DownloadFromURL,FFI_PostRequestURL,FFI_PutRequestURL,FFI_OnFocusChange,FFI_DoURIActionWithKeyboardModifier) bağlar veIPDF_JsPlatform'u ekler; böylece XFA etkinpdfium.dlldinamik XFA formlarını oluşturabilir ve betikleyebilir - XFA sabitlerini (
FXFA_PAGEVIEWEVENT_*,FXFA_MENU_*,FXFA_SAVEAS_*,FPDF_FORMFIELD_XFA_*) ve daha önce yalnızca yorumlarda başvurulanTXfaPacket/TXfaSaveFormattürlerini bildiren yeniLib\FPdfXfa.pasbirimi TPdfüzerinde statik XFA paket okuyucu:GetXfaPacketCount/GetXfaPacketName/GetXfaPacketContent/GetXfaPacketByNameartıGetXfaTemplate/GetXfaDatasets/GetXfaConfig, XFA etkin çalışma zamanı gerektirmedentemplate,datasetsveconfigXFA paketlerini ham XML olarak ayıklar — uyumluluk denetimi ve veri geçişi için kullanışlıdır- Yetenek sondaları: genel
XfaFeaturesAvailableve belge başınaTPdf.XfaRuntimeAvailable(FPDF_LoadXFA'nın gerçekten başarılı olup olmadığı) veTPdf.XfaStaticReadable(paket okuyucu dışa aktarmalarının çözümlenip çözümlenmediği) TPdfFormFieldType,fiXfa,fiXfaCheckBox,fiXfaComboBox,fiXfaImageField,fiXfaListBox,fiXfaPushButton,fiXfaSignature,fiXfaTextFieldile genişletildi;DecodeFormFieldTypeyeniFPDF_FORMFIELD_XFA_*değerlerini eşlerTPdfüzerinde JavaScript ana bilgisayar etkinlikleri:OnJavaScriptAlert,OnJavaScriptResponse,OnXfaGotoUrlveOnXfaRuntimeMissing, ana bilgisayarın JS iletişim kutularını ve XFA gezinmesini özelleştirmesine veya XFA belgesi motoru başlatamadığında yanıt vermesine olanak tanır- XFA algılama, paket çıkarma, yetenek sondası ve eksik çalışma zamanı geri dönüş yolunu gösteren yeni Delphi
XfaLabörneği
Değiştirildi (Changed)
TPdf.LoadDocumentartık girişi XFA işaretleyicileri (/XFAAcroForm sözlüğünde veya katalog/NeedsRendering) için önceden tarar ve bulduğunda singleton kütüphane yüklemesinden önceEnableV8Engine := Trueayarlayarak otomatik olarakpdfium.v8.dll'i seçer; sıradanpdfium.dllbir kez yüklendikten sonra işlem geçiş yapamaz, dolayısıylaOnXfaRuntimeMissingbu durumu bildirirTPdf.GetPageCountartık yalnızca statik PDF sayfa ağacını değil, dinamik sayfalama sonrasında XFA motorununFFI_PageEventaracılığıyla bildirdiği sayfa sayısını yansıtır- XFA belgesi açık ancak çalışma zamanı kullanılamadığında,
InitializeFormFillartık atanamaz geri çağrılarla sürüm 2 istemek yerineversion=1vexfa_disabled=1'i sabitler; bu durum daha önce hatalı geri çağrı işaretçisini dereference etme riskini doğuruyordu
Version 2.12.2
Düzeltildi (Fixed)
ValidatePdfAComplianceartık standartpdfaidmeta verilerini uzantı bildirimi olmadan hâlâ kabul ederkenpdfaExtension:schemasolmadan kullanılan özel XMP ad alanlarını raporlar- PDF/A-3 gömülü dosya doğrulaması artık dosya belirtimi sözlüklerinde en üst düzey
/Fve/UFgirişlerini gerektirir ve bu adları denetlerken iç içe/EFakış anahtarlarını yoksayar
Version 2.12.1
Düzeltildi (Fixed)
ValidatePdfAComplianceartık JavaScript, LZWDecode, Type1 ve diğer yasaklı adları eşleştirmeden önce kaçışlı PDF ad belirteçlerini kod çözer; böylece gizlenmiş ancak anlamsal olarak özdeş adlar doğru biçimde raporlanır- PDF/A satır içi görüntü denetimleri artık dizi ve kaçışlı ad formları dahil
/LZWDecode, kısaltılmış/LZWveya/Cryptkullanan/Filterve/Fdeğerlerini reddeder - PDF/A doğrulaması artık yasaklı akış filtreleri içeren meta veri akışlarını, bileşen sayısı
/Neksik veya tutarsız olan ICC OutputIntent profillerini ve eksik ya da geçersiz/AFRelationshipiçeren PDF/A-3 gömülü dosya belirtimlerini raporlar
Version 2.12.0
Eklendi (Added)
- TSA HTTP istekleri artık örtük WinHttp varsayılanlarına güvenmek yerine
WinHttpSetTimeoutsaracılığıyla her aşama (çözümleme/bağlantı/gönderme/alma) için 30 saniyelik açık zaman aşımları ayarlar; böylece yavaş veya erişilemeyen zaman damgası yetkilisi imzalama iş parçacığını süresiz olarak askıya alamaz - Çağıran
TPadesSignOptions.Nonce'ı atladığında PAdES B-T / B-LTA zaman damgası istekleri için istek başına nonce türetme: SHA-256 katlaması monoton sayaç + duvar saatleri +GetTickCount64+ işlem kimliği, önceki sabit$100000000geri dönüşünün yerini alır; böylece aynı milisaniyede gönderilen iki istek artık aynı anti-replay nonce'ını yeniden kullanmaz PdfInflateartık düşmanca veya bozuk girişte belleği tüketen zlib sıkıştırılmış akışı durdurmak için sıkıştırması açılmış çıktıyı 256 MiB ile sınırlar (ayrıca “zlib bombası” olarak bilinir); sınır, gerçek herhangi bir PDF akışı için cömerttir
Değiştirildi (Changed)
TPdfViewçakışma karıştırma (arama vurgulama, metin seçimi, okuma kelimesi, genişletme seçimi) artık piksel başınaGetPixel/SetPixelVkullanmaz; dikdörtgen artık tek geçişte ekran dışı 32-bppTBitmapveScanLinearacılığıyla karıştırılır; böylece render başına binlerce GDI çekirdek geçişi ortadan kalkar ve büyük seçimler duyarlı hale gelirFPdfAsn1.TDerReader.ReadIntegerartık 8 bayttan uzun INTEGER alanlarını (ve bit kaymasınınshl >= 64gerektireceği 8 baytlık negatif değerleri) reddeder; ASN.1 CMS/PAdES girişinde tanımsız kaydırma davranışı yoluyla hatalı değer hesaplamak yerine 0 döndürürParseTimeStampRespartık istek nonce'ınıTPadesTimestamp.Nonceolarak geri yansıtmaz; döndürülen nonce'ı doğrulayan TSTInfo yürüyücüsü gelene kadar alan, çağıranlara zaman damgası yanıtının taze olduğuna dair yanlış güven vermek yerine “doğrulanmamış” anlamına gelen 0 olarak kalır
Düzeltildi (Fixed)
PointsToPixels, her DPI için girişi değiştirmeden döndürüyordu: bölücü, 72 değişmezi yerinePointsPerInch(72 sabiti) idi; bu durum formülünResult := Points'e çökmesine neden oluyordu. Bu yardımcı aracılığıyla nokta→aygıt pikseli boyutlandırması yapan her harici çağıran artık doğruPoints × PixelsPerInch / 72'yi alırPdfMaxObjNum, nesne akışları kullanan belgelerde (PDF 1.5+ ObjStm) eksik sayıyordu:/ObjStmiçinde sıkıştırılmış nesnelerN 0 objişaretleyici taşımıyor; bu nedenle ham bayt taraması onları kaçırıyordu ve yeni nesneler içinMaxObj+1tahsis eden enjektörler gizli ObjStm üyeleriyle çakışıp dosyayı sessizce bozabiliyordu. Tarama artık önce nesne akışlarını genişletir, böylece her nesne numarası görünürInjectPdfAMarkersartık şifrelenmiş belgede yanlış PDF/A uyumluluk iddiası oluşturmaz: PDF/A (ISO 19005-1 §7.1) şifrelemeyi yasaklar ve enjektör daha önce sonraki doğrulamanın reddedeceği durumda bile kaynağı işaretli kopyalıyordu.HasEncryptayarlandığında kaynak artık değiştirmeden aktarılır. NormalTPdf.SaveAsPdfAyolu enjeksiyondan önce şifrelemeyi zaten kaldırır (saRemoveSecurity), dolayısıyla bu yalnızca doğrudan çağıranlara etki ederPdfReadStreamBytesartık ortaya çıkan arabelleği tahsis etmeden önce bozuk veya düşmanca dolaylı uzunlukta erken tahsis yolunu kapatan tüm dosyadan büyük/Length'i reddeder
Version 2.11.0
Eklendi (Added)
- PDFium
FPDF_FILEHANDLERkaydı artık altı geri çağrısını (Release,GetSize,ReadBlock,WriteBlock,Flush,Truncate) yorumlar yerine gerçek alanlar olarak bildirir; C başlık düzeniyle eşleşir.PFPDF_FILEHANDLERdöndüren veya kullanan FFI XFA dosya aktarımı geri çağrıları (FFI_OpenFile/FFI_EmailTo/FFI_UploadTo/FFI_DownloadFromURL) Pascal form doldurma katmanında uygulanmamış olarak kalır ancak tür artık gelecekteki XFA gönderme/yükleme yolu için yapısal olarak doğrudur - PDFium kütüphanesi yükleme ve boşaltma (
LoadLibrary/UnloadLibrary) artık genel bir işlem kritik bölümüyle seri hale getirilmiştir; böylece ikiTPdfFuture<T>çalışan iş parçacığı (veya ana iş parçacığıyla yarışan çalışan) her ikisi dePDFiumLibrary=0'ı gözlemleyemez ve çift bağlama yapamaz ya da başka bir iş parçacığı bağlama ortasındayken DLL'yi serbest bırakamaz initialization/finalizationbölümü artık birim kaldırıldığındaUnloadLibrary'yi çağırır; böyleceFPDF_DestroyLibrary'nin çalıştığı güvence altına alınır (çalışan iş parçacığı birleştirme, V8 yalıtımını kaldırma, yazı tipi/önbellek sökme) ve DLL elde etmek için OS'a güvenmek yerine
Değiştirildi (Changed)
TPdf.SetActiveartık yükleme sırasında herhangi bir özel durumu yutar (daha önce yalnızcaEPdfError); böylece form/sayfa kurulumu sırasındaki akış hatası veya erişim ihlali, kısmen yüklenmiş belirsiz durumlu bileşen yerineActive=Falsebırakır- PDFium meta veri anahtarı bağımsız değişkenleri için tutarlı karakter kodlaması:
TPdf.GetMetaTextartık hamAnsiString(Tag)dönüşümü yerineGetViewerPreferenceve yükleme yollarıyla aynı FPCAnsiString/ DelphiUTF8Encodebölmesini kullanır - Yinelenen yardımcı programlar
BytesToAnsi,AnsiToBytes,WriteBytesveWriteStrtekilleştirildi:FPdfCompressbunları artıkFPdfPdfCommon'dan içe aktarır (onunWriteBytesToStream/WriteAnsiToStreamtakma adları kullanımdan kaldırıldı) veFPdfPdfa'daki gereksiz üç bağımsız değişkenliBytesToAnsiaşırı yüklemesi kaldırıldı.FPdfAsn1, kriptografi katmanının uyumluluk katmanı biriminden bağımsız kalması için yerel kopyasını kasıtlı olarak korur
Düzeltildi (Fixed)
TPdf.LoadDocument(dosya, bellek,TBytes,TMemoryStream, özel akış) veTPdf.CreateDocument'ta kaynak sızıntısı: başarılıFPDF_LoadDocument/FPDF_CreateNewDocument'tan sonraInitializeFormFillveyaReloadPageyükseldiyse,FActiveo noktada hâlâ False olduğundan yerelFPDF_DOCUMENTtanıtıcısı sızıyordu. Her yol artık yükleme sonrası kurulumutry/exceptiçine sarar ve başarısızlıkta belgeyi kapatır; bileşeni temiz etkin olmayan durumda bırakır- PDFium DLL yükleme için daha kullanıcı dostu tanılama:
CheckLoadLibrary,ERROR_BAD_EXE_FORMAT'ı (193) algılar ve yalnızca genel OS hatasını iletmek yerine ilgiliDLLs/Win32veyaDLLs/Win64derlemesine işaret eden 32/64 bit mimari uyumsuzluğunu raporlar.CheckGetProcAddressartık gerekli dışa aktarım eksik olduğunda ham OS "procedure not found" metni yerine dağıtılanpdfium.dll'nin bağlamadan daha eski olduğunu belirtir
Version 2.10.1
Düzeltildi (Fixed)
- PAdES SignerInfo sid standardizasyonu: imzalayan tanımlayıcısı artık RFC 5652 §5.3
issuerAndSerialNumberbiçimini (issuer Name + serialNumber, her ikisi de imzalayan sertifikası DER'inden olduğu gibi çıkarılır) kullanıyor ve Adobe Acrobat ile diğer uyumlu doğrulayıcıların reddettiği önceki standart dışısubjectKeyIdentifier+ full-cert SHA-256 yer tutucu biçiminin yerini alıyor. Yeni bir TbsCertificate DER gezgini (ExtractIssuerAndSerial), issuer SEQUENCE ile serial INTEGER'ı ham TLV baytları olarak okur — seri numaraları sıklıklaInt64aralığını aştığından ham TLV zorunludur.subjectKeyIdentifierbiçimi yalnızca sertifika DER ayrıştırması başarısız olduğunda yedek olarak kalır
Değiştirildi (Changed)
TCmsSignerId.SerialNumber: Int64yerineSerialDer: TBytes(ham serialNumber TLV) konuldu. CMS oluşturucu, dilimlenmiş TLV'yiIssuerAndSerialNumberiçine olduğu olarak gömer ve böylece 20 baytlık CA seri numaralarındaInt64taşmasını engeller (RFC 5280 §4.1.2.2 üst sınırı)
Version 2.10.0
Eklendi (Added)
- PAdES B-LT uzun vadeli doğrulama:
TPadesSignOptions.Level >= plB_LTolduğundaSignPadesBytes, imzalayan sertifikası ile tam ara zinciri taşıyan (kendinden imzalı kök RFC 5652 §10.2.3 uyarınca dışlanır) bir/DSSsözlüğü içeren bir artımlı güncelleme ekler ve/Extensions /ESICLevel 1 işaretini (EN 319 142-1 §5.4.2) ekler - PAdES B-LTA arşiv zaman damgası:
Level >= plB_LTAveTsaUrlayarlı olduğunda,/ByteRange'i tüm dosyayı kapsayan bir Document Time-stamp imza sözlüğü (/SubFilter /ETSI.RFC3161) eklenir ve ESIC işareti Level 2'ye yükseltilir. Bu, dört PAdES temel seviyeyi (B-B, B-T, B-LT, B-LTA) tamamlar - Sertifika zinciri toplama:
ResolveWinSignerartıkCertGetCertificateChain'i çağırır veTPadesResolvedSigner.ChainCertDer'i ara CA sertifikalarıyla doldurur; böylece B-LT/DSS /Certs, imzayı dış aramalar olmadan doğrulamak için gereken her sertifikayı taşır.CertFreeCertificateContextartık bağlıdır ve v2.8.0'da belirtilen imza başına bir bağlam sızıntısını kapatır - PDF/A tümleştirme iş akışı:
TPdf.SignPadesWithPdfAönce belgeyi PDF/A'ya dönüştürür (kitaplığın bugün ürettiği en yüksek seviye), ardından istenen PAdES imzasını uygular — EN 319 142-1 Ek A.7'nin önerdiği uzun vadeli arşiv konteyneri desenidir
Version 2.9.0
Eklendi (Added)
- PAdES B-T güvenilir zaman damgası:
TPadesSignOptionsiçinLevel,TsaUrlveNoncealanları eklendi.Level >= plB_TveTsaUrlayarlı olduğundaSignPadesBytes, oluşturulan CMS'den imza değerini çıkarır, üzerine bir RFC 3161 zaman damgası ister ve döndürülen TimeStampToken'ı SignerInfo unsigned özniteliğisignature-time-stampolarak gömer — B-T güvenilir zaman adımı (EN 319 142-1 §6.3 gereksinim o) FPdfTsa: platformlar arası RFC 3161 istemcisi —BuildTimeStampReq(version 1, imza değerine ait SHA-256 messageImprint, nonce, certReq=true),ParseTimeStampResp(PKIStatus 0/1'i kabul eder, 2+'yı reddeder, TimeStampToken ContentInfo'yu olduğu gibi çıkarır) veRequestTimestamp(tek seferde build+POST+parse).PadesTsaAvailable, HTTP arka ucu olmayan platformlarda özelliği denetlerFPdfTsaWin: Windows WinHttp arka ucu, winhttp.dll'den dinamik olarak bağlı (yeni derleme zamanı bağımlılığı yok; HTTPS, Windows sertifika deposu tarafından görüşülür).FPdfCryptoWin'in dinamik bağlama desenini yansıtırFPdfCms:ExtractSignatureValue, oluşturulan bir CMS'i gezerek ham imza oktetlerini (TSA karma girişi) kurtarır veAddSignatureTimestampToCms, ContentInfo'yu zaman damgası özniteliğini taşıyan yeni birunsignedAttrs [1](0xA1) ile yeniden oluşturur. stage-1 doğrulayıcısı sonucu B-T imzası olarak tanır
Version 2.8.0
Eklendi (Added)
- PAdES B-B imza yığını: dört yeni saf Pascal/platformlar arası yapı taşı (
FPdfSha256,FPdfAsn1,FPdfCms,FPdfCrypto) artı bir Windows CNG arka ucu (FPdfCryptoWin),TPdf.SignPades/SignPadesToStream'in uçtan uca bir PAdES B-B imzası üretmesini sağlar. İmzalayan sertifikası, Current User “MY” deposundan SHA-1 parmak iziyle çözümlenir; RSA-PSS (önerilen), RSA PKCS#1 v1.5 ve ECDSA'nın tümüNCryptSignHasharacılığıyla desteklenir FPdfSha256: kendi içinde FIPS 180-4 SHA-256 (Init/Update/Final + tek seferlik yardımcılar).FPC 3.2.2 bir SHA-2 birimi göndermez; bu yüzden kitaplık, her CMS kod yolunu RTL dallanması olmadan tek birTSHA256Digesttüründe tutmak için bir birliğe sahiptirFPdfAsn1: SEQUENCE/SET/OID/INTEGER/OCTET STRING/UTCTime/GeneralizedTime/bağlama özgü etiketleri kapsayan DER kodlayıcı (TDerWriter) ve okuyucu (TDerReader); CMS'nin gerektirdiği sabit uzunluklu kodlama ve IMPLICIT etiket işlemesiyleFPdfCms: PAdES temelinin zorunlu kıldığı content-type, message-digest ve signing-certificate-v2 signed özniteliklerini veren, opsiyonel signing-time ve commitment-type-indication ile CAdES SignedData oluşturucusu (BuildSignedData). signedAttrs özeti, SET etiketli (0x31) biçim üzerinden hesaplanır ve RFC 5652 §5.4 uyarınca IMPLICIT [0] (0xA0) etiketiyle yeniden yayımlanırFPdfCrypto+FPdfCryptoWin:PadesCryptoAvailable/ResolvePadesSignerile kriptografik arka uç soyutlaması ve Windows uygulaması crypt32.dll / ncrypt.dll'i dinamik olarak bağlar (yeni derleme zamanı DLL bağımlılığı yok).ECDSA imzaları, Windows IEEE P1363 r¦s biçiminden CMS'nin gerektirdiği DERECDSA-Sig-Valuebiçimine yeniden kodlanırSignPadesBytes: bayt düzeyinde imza enjeksiyonu — sabit genişlikli bir/Contentshex yuvası ayırır, kapsayan/ByteRange'i hesaplar, belgeyi özetler, CMS'yi oluşturup gömer ve artımlı güncellemeyi ekler. Doğrulayıcı (v2.7.0) çıktıyı PAdES B-B imzası olarak tanır
Version 2.7.0
Eklendi (Added)
- PAdES yapısal doğrulayıcı (ETSI EN 319 142-1 V1.2.1): yeni
FPdfPadesbirimi veTPdf.ValidatePadesyöntemi,/ByteRange'den ulaşılabilir imza değer sözlüklerini inceler,/Contentsiçindeki CMSSignedData'yı CAdES detached biçimini doğrulamaya yetecek kadar gezilir ve dört temel seviyeyi (B-B, B-T, B-LT, B-LTA) ile Document Time-stamp sözlüklerini (/SubFilter /ETSI.RFC3161) algılar - PAdES madde düzeyinde sorun kümesi: 26
ppei*enumu/SubFilterkabul edilebilirliğini (adbe.pkcs7.sha1veadbe.x509.rsa_sha1yasak olarak işaretlenir),/ByteRangedosya kapsamını,/Certyasağını, CMSSignedDatabiçimini (tek imzalayan, detached eContent, sürüm aralığı), zorunlu signed öznitelikleri (content-type,message-digest,signing-certificate/v2), yasak özetleri (MD5, SHA-1),/Reasonilecommitment-type-indicationkarşılıklı dışlamasını (gereksinim d), B-T güvenilir zaman gereksinimini, B-LT/DSS+/Certs+ ESIC Level 1 işaretini ve B-LTA Document Time-stamp + ESIC Level 2 işaretini kapsar - DSS enjektörü:
TPdf.SaveAsPadesDss/SaveAsPadesDssToStream, belgenin bir kopyasına/DSSsözlüğü (/Certs,/OCSPs,/CRLsakış dizileri içerir) ve/Extensions /ESICişaretini (Level 1 veya 2) taşıyan bir artımlı güncelleme ekler ve özgün baytları korur — B-LT/B-LTA doğrulama malzemesi gömme adımıdır (madde 5.4.2) - Platformlar arası, bağımlılıksız aşama: doğrulayıcı ve enjektör saf Pascal'dır ve desteklenen her IDE'de (Delphi, Lazarus, FPC, C++Builder) çalışır; bu sürüm için hiçbir kriptografik arka uca gerek yoktur ve hiçbir yeni DLL bağımlılığı tanıtılmaz
Version 2.6.0
Değiştirildi (Changed)
- Standartlar arası yinelenenleri kaldırma: yedi ek yinelenen yardımcı fonksiyon (PdfEnclosingObjNum, PdfDictRefNum, PdfExpandObjectStreams, PdfTextStr, ExtractLiteralString, ExtractXmpAttr) bireysel standart birimlerinden kaldırıldı ve
FPdfPdfCommoniçinde birleştirildi, böylece yaklaşık 300 satır kopyala-yapıştır bakım yükü azaltıldı - PreflightReport kalitesi: daha önce genel “missing marker” kategorisine düşen PDF/X ve PDF/E içerik sınıfı sorunları artık doğru Content/Metadata/Security kategorilerine ve maddeye özgü önerilere sahip (her iki standart boyunca ~15 enum)
- PDF/E ve PDF/R test kapsamı: daha önce sıfır kapsama sahip altı enum pozitif testler kazandı (
pveiLzwForbidden,pveiJavaScriptForbidden,pveiFormFieldsForbidden,pveiEmbeddedFilesForbidden,pvriBadHeader,pvriProhibitedInfoEntry) - Lazarus derleme düzeltmesi:
Tests.PdfVT(v2.5.x'te eklenen Delphi'ye özgü bir DUnitX birimi) artık derlemeyi geri yüklemek için Lazarus projesinden dışlanır
Version 2.5.3
Eklendi (Added)
- OutputIntent tamlığı (PDF/X-4 §6.2.4):
pvviOutputIntentScheme,/S'i/GTS_PDFXolmayan bir OutputIntent'i işaretler;pvviOutputIntentMissingIdentifiereksik bir/OutputConditionIdentifier'ı işaretler - PDF/VT-2 Reference XObject muafiyeti (§6.2.2):
pvviReferenceXObjectForbidden, bir X-5g/5pg temeli üzerinde Reference XObject'leri yasal olarak kullanabilen birPDF/VT-2dosyası için artık tetiklenmez - MIME boundary karakter doğrulaması (RFC 2046 §5.1.1):
vtmviBoundaryInvalidChar, karakterleri bchars kümesinin dışında olan veya uzunluğu 70'i aşan bir boundary'yi işaretler
Düzeltildi (Fixed)
InjectPdfVTMarkersartık kaydetme seçeneklerinden Info/CreationDateve/ModDate'i yazıyor; böylece üretilen dosya, hatalı birpvviInfoModDateMismatcholmadanValidatePdfVTCompliance'i gidiş-dönüş yapar (enjektör daha önce XMP tarihlerini yeniden yazıyordu ancak Info sözlüğü tarihlerini eski halde bırakıyordu)
Version 2.5.2
Eklendi (Added)
- Info
/ModDatetutarlılığı (§6.3 NOTE 2, PDF/X-4 temeli):pvviInfoModDateMismatch, PDF tarihinden XMP tarihine normalleştirme sonrasındaxmp:ModifyDateile eşleşmeyen bir Info sözlüğü/ModDate'ini işaretler - PDF/VT-2s satır içi öbek uygunluğu (Ek A.2): MIME doğrulayıcısı artık her satır içi
application/pdfparçası içinValidatePdfVTCompliance'i çalıştırır ve PDF/VT olmayan bir gövdeyivtmviInlinePdfNotPdfVTile işaretler
Version 2.5.1
Eklendi (Added)
- DParts öbekleme doğrulaması (ISO 16612-2 §6.5 Tablo 4):
pvviDPartsBadChunking, son olmayan alt dizilerinin tam olarak 8192 girdisi olmayan veya son alt dizisi 1..8192 dışında kalan bir/DPartsdizisini işaretler - RecordLevel akışlar arası tutarlılık (Ek A.2): PDF/VT-2s MIME doğrulayıcısı artık her satır içi PDF'nin
/RecordLevel'ını çıkarır vevtmviRecordLevelMismatchile anlaşmazlığı işaretleyerek mevcut NodeNameList denetimini tamamlar - Yinelenen grafik nesne ipuçları (§6.7):
pvviGtsScopeInvalidValue, {SingleUse, Record, File, Stream, Global, Unknown} dışındaki bir/GTS_Scope'u işaretler;pvviGtsScopeRecordWithoutRecordLevel,/RecordLevelolmadan/Record'u işaretler;pvviGtsXidNotUuid, RFC 4122 uuid: URI'si olmayan bir/GTS_XID'i işaretler;pvviGtsEnvMissing,/GTS_ScopeStream veya Global olduğunda eksik bir/GTS_Env'i işaretler (§6.7.4) - MIME ileri referans algılama (Ek A.2):
vtmviForwardReference, akıştaki daha erken bir ek parçasıyla tanıtılmamış bir dosya adını (/EF /Faracılığıyla) aktaran bir satır içi PDF'yi işaretler
Düzeltildi (Fixed)
FPdfPdfvtMimeiçindekiExtractNodeNameListFromPdfveExtractRecordLevelFromPdf,AnsiFindKeytarafından döndürülen 1 tabanlı ofsetin genişletilmiş PDF'ye mutlak bir bayt ofseti olarak ele alındığı yinelenen bir off-by-one hatasını çözdü
Version 2.5.0
Eklendi (Added)
- PDF/VT Document Part Metadata (DPM, ISO 16612-2 §6.6):
TPdfVTSaveOptions,DpmEntriesveDpmTargetkazandı; böylece bir yazıcı, sentezlenen DPart düğümüne bir/DPMsözlüğü ekleyebilir; anahtar adı doğrulaması, Ek E ikinci sınıf önek kuralına ve doğrulayıcı tarafında §6.6 NMTOKEN / benzersizlik /GTS_Managedbiçim kurallarına göre yapılır - PDF/VT-2s akış değişimi (Ek A): yeni
FPdfPdfvtMimebirimi, satır içi PDF/VT öbekleri artı ek ICC profilleri taşıyanmultipart/mixedMIME zarfı içinBuildPdfVT2sStreamveValidatePdfVT2sStreamsağlar;X-PDFVT-Stream-version: 1başlık sıralama kuralı ve akışlar arasıNodeNameListtutarlılık denetimi ile TPdf.ValidatePdfVTartıkFPDFDoc_GetJavaScriptActionCountaracılığıyla yetkili bir JavaScript-action sayımı yapıyor ve bayt düzeyinde/JavaScriptad taramasını tamamlıyor
Düzeltildi (Fixed)
- PDF/X-4 temelinde PDF/VT
Trappeddoğruluğu:ptvUnknownenum değeri kaldırılır (PDF/X-4,/Unknown'u yasaklar),ptvUnspecifiedyazma sırasında/False'a normalleştirilir (eksik bir/Trappedda yasaktır) ve yenipvviTrappedInvalidsorunu eksik veyaUnknownbir değeri işaretler ValidatePdfVTComplianceartık taramadan önce nesne akışlarını (PdfExpandObjectStreams) genişletir; böylece sıkıştırılmış bir ObjStm içinde depolanan bir catalog, OutputIntent veya Metadata sözlüğü (PDF 1.5+, PDF/X-4 üreticileri için tipik), bayt düzeyinde aramalarla ulaşılabilir olur
Değiştirildi (Changed)
- PDF/VT-1 artık tam PDF/X-4 içerik yasaklarını miras alır:
pvviAcroFormForbidden(/AcroFormveya/XFA),pvviAdditionalActionsForbidden(catalog/AA),pvviMissingTrimBoxvepvviReferenceXObjectForbidden(Reference XObject, yalnızca X-5g/5pg) - Standartlar arası yinelenenleri kaldırma:
BuildDictObj,IccComponentCount, yerleşik sRGB ICC profili (GetSrgbIccProfile),PdfTextStr,PdfEnclosingObjNum,PdfDictRefNumvePdfExpandObjectStreams,FPdfPdfa/FPdfPdfx/FPdfPdfvtiçindeki üç kat çoğaltılmış yerel kopyalardanFPdfPdfCommoniçindeki tek kanonik konuma yükseltildi;3144 baytlık ICC sabiti artık kod tabanında tam olarak bir kez var
Version 2.4.0
Düzeltildi (Fixed)
InjectPdfUaMarkersartık bir çapraz referans akışı (cross-reference-stream) temelinde trailer/Inforeferansını düşürmüyor: yerel olanSourceTrailerInfoRef(xref-stream yedeğinden yoksundu), paylaşılanPdfSourceTrailerInfoRefile değiştirildi (v2.0.0 sürümünden beri yedeğe sahip olan PDF/A kopyasından aktarıldı)- Paylaşılan
PdfReadStreamBytesartık dolaylı/Length N G Rreferanslarını işliyor (yerel PDF/A kopyasından aktarıldı), böylece PDF/VT, PDF/R ve PDF/E doğrulayıcıları, dolaylı Length kullanan araçlar tarafından üretilen XMP meta veri akışlarını artık yanlış okumuyor veya atlamıyor (Acrobat, Ghostscript)
Değiştirildi (Changed)
- Standartlar arası veri tekilleştirme:
FPdfPdfaveFPdfPdfxiçindeki yerelPdfReadTrailerkopyaları,FPdfPdfaveFPdfPdfuaiçindeki yerelSourceTrailerInfoRefkopyaları veFPdfPdfaiçindeki yerelPdfReadStreamByteskopyalarının tümü silindi — paylaşılanFPdfPdfCommonsürümleri artık her yerde geçerli, bu da yaklaşık ~330 satır yinelenen kodu kaldırıyor ve kopyaları senkronize tutma bakım yükünü ortadan kaldırıyor - PDF/X test kapsamı eksikliklerinin giderilmesi: daha önce sıfır kapsama sahip yedi içerik sınıfı enum yapısı pozitif testler kazandı (
pvxiLzwForbidden,pvxiJavaScriptForbidden,pvxiFormFieldsForbidden,pvxiAdditionalActions,pvxiEmbeddedFilesForbidden,pvxiMissingTrimBox,pvxiTrappedNotSet)
Version 2.3.0
Değiştirildi (Changed)
- PDF/A test kapsamı eksikliklerinin giderilmesine devam ediliyor: sıfır kapsama sahip üç enum yapısı daha pozitif testler kazandı;
pvaiForbiddenRenderingIntent(§6.2.9) bir içerik akışındaki standart dışı bir rendering-intent adını işaretler;pvaiJpeg2000Violation(§6.2.2) Part 2 kapsamında/NumComponentsdeğeri {1,3,4} dışında kalan bir JPXDecode görüntüsünü işaretler;pvaiInlineImageLzwForbidden(§6.1.10) Part 2 kapsamında LZW filtresi kullanan bir satır içi görüntüyü işaretler
Version 2.2.0
Değiştirildi
- Çapraz referans akışı (cross-reference-stream) gerileme testleri: mevcut
Validate_XrefStreamTrailer_DetectsConformanceartık katalog/Metadatareferansının çözümlendiğini ve XMPpdfaid:partbilgisinin bir xref-stream tabanında okunduğunu da doğrulamaktadır (yalnızca/Root+/ID) ve yeni birInjectPdfA_XrefStreamBase_RoundTripstesti v2.0.0 sürümünde eklenen enjektörün xref-stream yolunu korumaktadır; standartlar arası iki test (PdfE_XrefStreamBase_NotRejectedAsUnparsable,PdfR_XrefStreamBase_NotRejectedAsUnparsable) PDF/E ve PDF/R doğrulayıcılarının artık xref-stream PDF'lerini ayrıştırılamaz olarak reddetmediğini doğrulamaktadır - PDF/A test borcu kapatılması:
Validate_MinimalPdf_FlagsRequiredMarkers, çıplak bir minimal PDF'inpvaiMissingPdfAIdentifier,pvaiMissingOutputIntent,pvaiMissingIccProfile,pvaiMissingXmpMetadatavepvaiMissingXmpDateshatalarını tetiklediğini doğrulamaktadır — böylece zaten eşdeğer testleri olan PDF/E ve PDF/X doğrulayıcıları ile arasındaki simetri açığı kapatılmaktadır; sıfır kapsama sahip iki enum daha pozitif testler kazanmıştır:pvaiUnembeddedFontvepvaiSubsetMissingCidSet
Version 2.1.0
Düzeltildi
- PDF/E yanlışlıkla v2.0.0 çapraz referans akışı düzeltmesinin dışında bırakılmıştı: hem
InjectPdfEMarkershem deValidatePdfECompliance,PdfReadTrailerişlevini halaAcceptXrefStreamolmadan çağırıyordu, bu nedenle PDF/E enjektörü PDF 1.5+ çıktılarında (pdfium'un varsayılanSaveAsCopyçıktısı) sessizce başarısız oluyordu; her iki çağrı yeri de artıkTruedeğerini geçmektedir - Paylaşılan
PdfReadTrailerçapraz referans akışı geri dönüşü (fallback) artık PDF/A ve PDF/X yerel kopyalarının zaten sahip olduğu/Type /XRefkorumasını taşımaktadır, böylece ilgisiz bir sözlüğe işaret eden bozuk birstartxrefuzaklığı (offset) treyler (trailer) olarak yanlış ayrıştırılmak yerine temiz bir şekilde başarısız olur ValidatePdfUaCompliance(v2.0.0) içindeki dolaylı referans/Langçözümleyicisine ulaşılamıyordu:PdfFindObjDictyalnızca<<sözlüklerini bulur, ancak bir/Langdize nesnesi sözlük içermeyen(...)veya<...>şeklindedir; bunun yerine dize belirtecini bulan doğrudan bir nesne-gövde taraması getirilmiştir
Değiştirildi
- Paylaşılan
FPdfPdfCommonsürümlerinin bayt düzeyinde özdeş kopyaları olan yedi adet ölü-gölge yardımcı kopya (PdfStructureBytes, PdfHasName, PdfCountName, BuildStreamObj)FPdfPdfaveFPdfPdfuabirimlerinden kaldırılmıştır — paylaşılan sürümler artıkusesaracılığıyla her yerde geçerlidir
Version 2.0.0
Düzeltildi
- Standartlar arası sessiz başarısızlık: paylaşılan
PdfReadTraileryardımcısı (PDF/UA, PDF/X, PDF/VT ve PDF/R işaretleyici enjektörleri ve doğrulayıcıları tarafından kullanılır) artık birAcceptXrefStreamparametresi kabul etmekte ve hiçbirtraileranahtar sözcüğü bulunmadığında (PDF 1.5+) çapraz referans akışı nesne sözlüğüne geri dönmektedir; önceden, pdfium'un (bir çapraz referans akışı kullanan)SaveAsCopyçıktısı her işaretleyici enjektörünün sessizce başarısız olmasına neden oluyordu — kaynak baytlar değiştirilmeden kopyalanıyor ve çağrı yine de başarı döndürüyordu; PDF 2.0 tabanı her zaman bir çapraz referans akışı olan PDF/R-1.0 doğrulayıcısı etkisiz durumdaydı; PDF/A doğrulayıcısının gelişmiş uygulaması, her standardın faydalanması için paylaşılan yardımcıya aktarılmıştır InjectPdfUaMarkersveInjectPdfAMarkersiçindeki treyler (trailer) sözlüğü taraması artık yalın bir>>araması yerine derinliğe duyarlıPdfDictEndkullanmaktadır, böylece iç içe geçmiş bir sözlük içeren (örneğin/Encrypt << ... >>) bir treyler artık sondaki bir/Infogirdisinden önce yarıda kesilmez
Değiştirildi
TPdf.ValidatePdfUa, hassas Pdfium nesne modelipvuaiPdfiumFontNotEmbeddedhatası zaten tetiklendiğinde kaba bayt düzeyindekipvuaiFontNotEmbeddedhatasını artık bastırmaktadır, böylece ön uçuş raporu aynı kusur için artık iki adet birbirine yakın kopya “embed your fonts” satırı taşımamaktadırpvuaiLangInvalidFormat(§7.2) artık dolaylı referans/Lang(N 0 R) değerini kendi dize nesnesine çözümlemekte ve içeriği doğrulamaktadır, böylece dolaylı olarak başvurulan bir dil etiketi artık görünmeyen bir nokta olmaktan çıkar
Version 1.99.0
Düzeltildi
pvuaiLangInvalidFormat(§7.2) artık onaltılık kodlanmış (hex-encoded)/Langdizelerine doğrudan geçiş izni vermez: UTF-16BE çiftleri (birFE FFBOM ile birlikte) ve yalın ASCII onaltılık dizeleri artık çözülür ve değişmez(...)dizeleriyle aynı BCP 47 dilbilgisi denetiminden geçirilir, böylece hatalı biçimlendirilmiş bir onaltılık/Langyakalanırken uyumlu olanın (örneğin UTF-16BEen-US) işaretlenme riski ortadan kalkar
Değiştirildi
pvuaiFontMissingToUnicode(§7.21.7) artık ilgili maddenin listelediği dört muafiyet koşuluyla eşleşecek şekilde,WinAnsiEncodingveMacRomanEncoding'in yanı sıra/MacExpertEncoding'i de muaf tutmaktadır
Version 1.98.0
Eklendi
pvuaiNeedAppearancesTrue(§7.18.4) artık/NeedAppearancesbayrağı true olan bir AcroForm'u işaretler; bu sayede widget görünümleri güvenilir bir şekilde kilitlenemez ve yardımcı teknolojiler bunları yapı ağacıyla ilişkilendiremez. PDF/A doğrulayıcıdan taşınmıştır ve tarama alanını daraltmak için/AcroFormvarlığıyla sınırlandırılmıştır
Değiştirildi
- veraPDF test külliyatı gerilemesi: §7.20 Reference-XObject geçme+kalma çifti ve §7.21.4.2 alt küme CharSet/CIDSet geçme+kalma çiftleri
Live_Corpus_ValidatePdfUaMatchesConformanceişlevine bağlandı. Ayrıca §7.21.7 ToUnicode-forbidden-value ve §7.18.6.2 media-clip geçme örnekleri yanlış pozitif korumaları olarak bağlandı (kalma örnekleri, bayt düzeyindeki taramanın yakalayamayacağı sözlük düzenleri kullandığından yalnızca geçme tarafı bağlanmıştır) - Külliyatın geçiş yolu doğrulama listesi 15 yeni sıfır-yanlış-pozitif koruması kazandı, böylece her aktif
pvuai*bayt düzeyindeki ve yapı denetimi artık uyumlu örneklerle test edilmektedir (daha önce 60 aktif sorundan yalnızca ~30'u korunuyordu). Bayt düzeyindeki denetleyici kodunu çözemediği onaltılık kodlanmış/Langdizelerini ihtiyatlı bir şekilde işaretlediği içinpvuaiLangInvalidFormatkoruması bilerek hariç tutulmuştur
Version 1.97.0
Düzeltildi
ValidatePdfUaStructureElementssağlamlaştırması:EnclosingTableüst zincir geçişi artık bir atlama sayacı (öğe sayısıyla sınırlı) taşımaktadır, böylece yapay bir yapı öğesi dizisindeki hatalı biçimlendirilmiş birParentIndexdöngüsü artık çağırıcıyı askıda bırakamaz.ValidatePdfUaPageContentTaggingişaretli-içerik-kimlik dizisi tahsisi artık bir milyon girdiyle sınırlandırılmıştır ve hatalı biçimlendirilmiş/kötü amaçlı birMarkedContentIDüzerinde çoklu GB tahsisini önler
Değiştirildi
pvuaiOrderedListMissingListNumberingenum açıklaması artık denetimin ne yaptığını doğru bir şekilde açıklamaktadır:ListNumberingdeğeri ISO 32000-1 Tablo 347 kümesinin dışında olan birLöğesini işaretler (eksik bir öznitelik işaretlenmez). Önceki açıklama, uygulamanın yapmadığı, özniteliği eksik olan sıralı listeleri de algıladığını ima ediyordu- İki
7.21.3.3-t02WMode-uyumsuzluğu corpus kalma örneği artıkLive_Corpus_ValidatePdfUaMatchesConformanceişlevine bağlandı — v1.95.0 sürümünden beri CMap akışı FlateDecode ile şişirilmektedir, bu nedenle sözlük ile içerik karşılaştırması artık okunabilir tarafta çalışır. Güncelliğini yitirmiş “bağlı değil” yorumu kaldırılmıştır
Version 1.96.0
Eklendi
- Standartlar arası tutarlılık:
TPdf.ValidatePdfUa, PDF/A doğrulayıcıdan taşınan iki denetim kazandı.pvuaiAnnotationFlagsViolation(§7.18.1), yardımcı teknoloji okuma akışını bozan Hidden / Invisible / NoView bayrağını taşıyan muaf tutulmamış bir ek açıklamayı işaretler.pvuaiActionTargetMissing(§7.18.5) ise gerekli hedef anahtarı (/F+/D, /URI, /F) eksik olan ve bağlantıyı yardımcı teknolojiler tarafından kullanılamaz halde bırakan bir GoToR / URI / SubmitForm eylemini işaretler
Düzeltildi
- Sayfalar arası yapı ağacı birleştirme:
TPdf.ValidatePdfUaiçindekiAllElemsbiriktirme döngüsü artık her öğeninParentIndexdeğerini sayfaya özgü diziden birleştirilmiş diziye yeniden temellendirir. Bu yapılmasaydı sayfa 2'nin alt öğeleri, sayfa 1'in dilimini gösteren sayfaya özgü bir dizini koruyacak ve ParentIndex'e bağlı her denetimi (tablo/liste yapısı, §7.4.4 H-alt sayısı, EnclosingTable) sessizce bozacaktı - RoleMap ayrıştırma:
PdfReadRoleMapPairs, bir değer dolaylı bir başvuru (N 0 R) veya dizi ([...]) olduğunda — her ikisi de ISO 32000-1 14.8.5.1 uyarınca geçerli RoleMap biçimleridir — tüm anahtar/değer taramasını artık sonlandırmaz. Artık döngüyü kesmek (Break) yerine sadece o girdiyi atlar (Continue), böylece dolaylı/dizi girdisinden sonra eşlenen türlerdepvuaiRoleMapUnresolvedyanlış pozitiflerini ortadan kaldırır
Değiştirildi
FPdfPreflightReport: Daha önce genel “missing marker” kategorisine ve önerisine düşen 18 aktifTPdfUaValidationIssuedeğeri artık doğru kategorileri (Structure / Content / Metadata / Security) ve maddeye özgü önerileri taşımaktadır. AyrıcaPDFSpecComplianceMatrix.mdiçindekipuaNone / pua1→pucNone / puc1yazım hatası düzeltildi
Version 1.95.0
Değiştirildi
TPdf.ValidatePdfUageri çağırma ve sağlamlık geçişi: §7.21.3.3pvuaiCMapWModeMismatchdenetimi ve §7.21.7pvuaiToUnicodeForbiddenValuedenetimi artık taramadan önceFlateDecodeile sıkıştırılmış CMap / ToUnicode akışlarını şişirir (daha önce yalnızca sıkıştırılmamış akışlar değerlendiriliyordu, bu bilinen bir yanlış negatif durumuydu). PaylaşılanPdfInflate/PdfReadAndDecodeStreamyardımcılarıFPdfPdfa/FPdfPdfxbirimlerindenFPdfPdfCommonbirimine yükseltildi, böylece her uygunluk birimi tek bir kopyayı paylaşır
Eklendi
pvuaiSubsetCharSetEmpty(§7.21.4.2), dize değeri boş olan bir/CharSetanahtarı taşıyan bir Type 1 alt kümeFontDescriptor'ını işaretler — mevcutpvuaiSubsetMissingCharSetyalnızca eksik anahtarı yakalıyordu. CID'si olmayan bir yazı tipi yasal olarak boş bir bit eşlem taşıyabileceğinden boş bir/CIDSetişaretlenmez
Version 1.94.0
Eklendi
- İkinci geçiş
TPdf.ValidatePdfUadenetimi, madde madde yapılan bir inceleme ve PDF/UA yolu tarafından kullanılmayan ancak önceden sarmalanmış olan Pdfium yerel API'lerinin yeniden taranmasıyla ortaya çıkan altı ISO 14289-1 açığını kapattı.pvuaiHeadingFormatInvalid(§7.4.3), H ile başlayan ancak saf Arap rakamları yerine ayraçlar, boşluklar veya Romen rakamları taşıyan kullanıcı tanımlı başlık etiketlerini işaretler.pvuaiMissingDocumentOutline(§7.17, should), yer imi ana hattı taşımayan çok sayfalı belgeleri işaretler (tek sayfalı belgeler muaftır).pvuaiStructElementLangInvalid(§7.2), geçerli bir BCP 47 etiketi olmayan bir yapı öğesi/Langdeğerini işaretler.pvuaiWidgetMissingPrintField(§7.14 / §7.18.4), PrintField öznitelik sahibinden yoksun bir Widget yapı öğesini işaretler.pvuaiLinkNotInStructureTree(§7.18.5),/Subtype /Linkek açıklamaları Link yapı öğesi olarak sunulmayan belgeleri işaretler.pvuaiPdfiumAnnotationMissingContentsvepvuaiPdfiumLinkMissingContents(§7.18.1 / §7.18.5), gizli, crop-box dışı, Popup ve Widget ek açıklamalarını muaf tutan kesin bir Pdfium nesne modeli ek açıklama taraması ekler — bu da/Fbayraklarını veya/Rectözniteliğini okuyamayan bayt düzeyindeki sezgisel yöntemin yanlış pozitiflerini ortadan kaldırır
Version 1.93.0
Eklendi
TPdf.ValidatePdfUaartık bayt düzeyindeki inceleyicinin üzerine PDF/A round-7 mimarisini yansıtan bir Pdfium nesne modeli geçişi katmanlandırır: her sayfanın metin nesneleriniFPDFTextObj_GetFont→FPDFFont_GetIsEmbedded(pvuaiPdfiumFontNotEmbedded, §7.21.4) aracılığıyla dolaşır ve her karakteriFPDFText_HasUnicodeMapError(pvuaiPdfiumUnicodeMapError, §7.21.7) veFPDFText_GetUnicode(pvuaiPdfiumNotDefGlyph, §7.21.8) aracılığıyla tarar — bu, yalnızca sıfır yazı tipi programı mevcut olduğunda veya hiçbir/ToUnicodegörünmediğinde tetiklenen bayt düzeyindeki sezgisel yöntemlerden daha kesindir. Tarama üç seviyede kısa devre yapar: üç Pdfium katmanı sorununun tamamı önceden ayarlandığında sayfa döngüsü sonlanır, nesne başına döngü ilk gömülü olmayan yazı tipinde sonlanır ve karakter taramasıUnicodeMapErrorzaten vurulduğunda.notdefgeçişini atlar. PDF/UA, Pdfium nesne modeli katmanı olmayan son PDF standart doğrulayıcısıydı
Version 1.92.0
Eklendi
- PDF/R-1 doğrulayıcı (
FPdfPdfr) için başlık doğrulaması, ObjStm yasağı, raster işareti algılama ve temiz dosya yanlış pozitif olmayan korumasını kapsayan ilk test dosyası olanTests.PdfRoluşturuldu. Altı PDF standardı test paketinin tümü artık özel test dosyalarına sahiptir: PdfA(80), PdfUa(101), PdfX(7), PdfE(5), PdfVT(15), PdfR(4) = toplam 212 test
Version 1.91.0
Eklendi
ValidatePdfEveValidatePdfVT, daha önce yalnızca PDF/A, PDF/UA ve PDF/X doğrulayıcılarında bulunan içerik düzeyinde denetimler kazandı:pveiLzwForbidden,pveiJavaScriptForbidden,pveiFormFieldsForbidden(yalnızca PDF/E),pveiEmbeddedFilesForbidden(yalnızca PDF/E),pveiOpiForbidden,pvviLzwForbidden,pvviJavaScriptForbidden,pvviEmbeddedFilesForbidden,pvviOpiForbidden.TPdf.ValidatePdfEveTPdf.ValidatePdfVTayrıca sayfa metin nesneleriniFPDFFont_GetIsEmbeddedaracılığıyla dolaşan ve ilk gömülü olmayan yazı tipinde kısa devre yapan bir Pdfium nesne modeli katmanı (pveiPdfiumFontNotEmbedded/pvviPdfiumFontNotEmbedded) kazandı
Version 1.90.0
Eklendi
TPdf.ValidatePdfXartık bayt düzeyindeki denetleyicinin üzerine bir Pdfium nesne modeli geçişi katmanlandırır: her sayfanın metin nesneleriniFPDFTextObj_GetFont→FPDFFont_GetIsEmbeddedaracılığıyla dolaşır ve gömülü olmayan bir yazı tipinipvxiPdfiumFontNotEmbeddedolarak bildirir — bu, yalnızca sıfır yazı tipi programı mevcut olduğunda tetiklenen bayt düzeyindeki sezgisel yöntemden daha kesindir. Dolaşma, bulunan ilk gömülü olmayan yazı tipinde kısa devre yapar
Değiştirildi
TPdf.ValidatePdfUayapı ağacı geçişi:pvuaiUntaggedContentzaten bulunduğunda, sonraki sayfalarda sayfa başına yapılanValidatePdfUaPageContentTaggingçağrısı (işaretli-içerik-kimliği talep haritası oluşturan ve her metin/resim nesnesini çapraz denetleyen) artık atlanır — sayfalar arası denetimler için yapı öğeleri hala toplanır (Note benzersiz kimliği, başlık dizisi), ancak sayfa başına maliyetli olan içerik etiketleme geçişi erken durdurulur
Version 1.89.0
Değiştirildi
TPdf.ValidatePdfAPdfium nesne modeli katmanı performansı: sayfa/nesne geçişi artık üç seviyede kısa devre yapar — uygulanabilir tüm Pdfium katmanı sorunları zaten bulunduğunda sayfa döngüsünden çıkılır, her iki nesne bazlı sorun (yazı tipi gömme + saydamlık) ayarlandığında nesne başına döngüden çıkılır veUnicodeMapErrorzaten vurulduğunda metin sayfası karakter taraması.notdefgeçişini atlar.Assigned()API kullanılabilirlik denetimleri ve uygunluk bayrakları, her sayfa/nesne/karakterde yeniden değerlendirilmek yerine döngüden önce bir kez yerel boolean değişkenlerinde önbelleğe alınır. Büyük, uygun olmayan bir belgede tarama artık tüm sayfaları taramak yerine ilk sayfadan sonra durabilir; uygun bir belgede ise sayfa başına ek yük daha düşüktür (tekrarlananAssignedçağrıları yoktur)
Version 1.88.0
Eklendi
ValidatePdfX, PDF/X'in dosya biçimi işaretlerinin ötesinde getirdiği baskı alışverişi kısıtlamalarını kapsayan sekiz yeni içerik düzeyindeTPdfXValidationIssuedeğeri kazandı:pvxiLzwForbidden(/LZWDecode),pvxiJavaScriptForbidden(/JavaScript),pvxiFormFieldsForbidden(/AcroForm//XFA),pvxiAdditionalActions(/AA),pvxiEmbeddedFilesForbidden(/EmbeddedFiles//FileAttachment),pvxiOpiForbidden(/OPI//Alternates),pvxiMissingTrimBox(hiçbir sayfada/TrimBoxolmaması) vepvxiTrappedNotSet(/Trappedözniteliğinin olmaması veya/Unknownolması). PDF/X doğrulayıcı daha önce yalnızca XMP/OutputIntent işaretlerini kontrol ediyordu; bu onun ilk içerik düzeyindeki geçişidir. Tüm uygunluk birimlerinin kullanabilmesi içinFPdfPdfCommonbirimine paylaşılanPdfStructureBytes/PdfHasName/PdfCountNameyardımcıları eklendi
Version 1.87.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.21.3 bileşik yazı tipi kurallarını kapsamaktadır:
pvuaiCidSystemInfoMismatch, gömülü CMap'i ve alt CIDFont'uRegistry/Orderingkonusunda birbiriyle çelişen ya da CIDFontSupplementdeğeri CMap'inkini aşan Type0 yazı tiplerini işaretler;pvuaiCMapNotEmbedded, ISO 32000-1 Tablo 118'de önceden tanımlanmış CMap'ler arasında yer almayan ve adla (EncodingveyaUseCMapolarak) başvurulan CMap'leri işaretler;pvuaiCMapWModeMismatchise sözlüktekiWModedeğeri akış içeriğindeki WMode'dan farklı olan gömülü CMap'leri işaretler
Düzeltildi
- §7.21.3.2
pvuaiCidFontMissingCidToGidMapdenetimi,Subtypeanahtar/değer çiftinin bir satır sonu karakteriyle ayrıldığı CIDFontType2 sözlüklerini kaçırıyordu; artık ayrıcaIdentitydışındaki birCIDToGIDMapad değerini de işaretlemektedir
Version 1.86.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.21.6 TrueType kodlama kurallarını kapsamaktadır:
pvuaiTrueTypeEncodingInvalid,Encodinganahtarı eksik olan ya da değeri (doğrudan veyaBaseEncodingaracılığıyla)MacRomanEncodingya daWinAnsiEncodingolmayan sembolik olmayan TrueType yazı tiplerini işaretler;pvuaiSymbolicTrueTypeEncodingise standart dışı birEncodingadı taşıyan sembolik TrueType yazı tiplerini işaretler
Version 1.85.1
Değiştirildi
- ISO 14289-1 §7.18.3 sekme sırası denetimi
pvuaiMissingTabsOrderartık sayfa bazında çalışmaktadır: ek açıklama içeren her sayfa, kendi sayfa sözlüğünde/Tabs /Sbildirmek zorundadır; böylece uyumlu bir kardeş sayfa, bu bildirimi olmayan bir sayfayı artık gizleyemez
Version 1.85.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.15 uyarınca dinamik ile statik XFA formlarını birbirinden ayırt etmektedir:
pvuaiXfaDynamic, XFA yapılandırmasındadynamicRenderdeğerinirequiredolarak ayarlayan formları işaretler
Değiştirildi
- Herhangi bir XFA adayını işaretleyen eski
pvuaiXfaPresentbayrağı kullanımdan kaldırılmış ve artık tetiklenmemektedir (statik XFA §7.15 ile uyumludur); API uyumluluğu için enum değeri korunmaktadır
Version 1.84.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.1'in gerektirdiği etiketlenmemiş gerçek içeriği tespit etmektedir:
pvuaiUntaggedContent, sayfanın yapı ağacı tarafından (işaretli içerik kimlikleri aracılığıyla) sahiplenilmeyen ve Artifact olarak da işaretlenmeyen işlenmiş metin ile görüntü nesnelerini işaretler - Doğrudan kullanım için yeni sayfa düzeyinde yardımcı işlevler:
GetPageContentMarkInfosveValidatePdfUaPageContentTagging,TPdfPageContentMarkInfokaydıyla birlikte
Version 1.83.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.4.4 başlık modelini uygulamaktadır:
pvuaiHeadingModelMixed, genelHetiketini numaralıH1..Hnbaşlıklarıyla karıştıran belgeleri işaretler;pvuaiHeadingMultipleInNodeise birden fazla altHbaşlığı taşıyan yapı düğümlerini işaretler
Version 1.82.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.1'in gerektirdiği RoleMap'i çözümlemektedir:
pvuaiRoleMapRemapsStandard, standart bir yapı türünü yeniden tanımlayan RoleMap girişlerini işaretler;pvuaiRoleMapUnresolvedise RoleMap zinciri eksik, sarkık veya döngüsel olan kullanılmış standart dışı yapı türlerini işaretler — standart bir türe ulaşan dolaylı zincirler kabul edilir ve kullanılmayan RoleMap girişleri hiçbir zaman değerlendirmeye alınmaz - Doğrudan kullanım için yeni yardımcı işlevler: PDF adı
#hhkaçış kod çözme özelliğine sahipPdfUaIsStandardStructType,PdfReadRoleMapPairsveValidatePdfUaRoleMapUsage
Version 1.81.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.6'nın gerektirdiği ISO 32000-1 liste etiketlemeyi kapsamaktadır:
pvuaiListStructureInvalid, bir L kapsayıcısı dışındaki LI öğelerini ve bir LI öğesi dışındaki Lbl/LBody parçalarını işaretler; iç içe listelere ve Note ile BibEntry öğeleri içindeki meşru Lbl kullanımına izin verilmektedir
Version 1.80.0
Eklendi
- PDF/UA doğrulaması artık ISO 14289-1 §7.5'in gerektirdiği ISO 32000-1 tablo etiketlemeyi kapsamaktadır:
pvuaiTableStructureInvalid, bir TR satırı dışındaki TH/TD hücrelerini ve Table kapsayıcıları dışındaki satır ya da satır gruplarını işaretler;pvuaiTableHeaderMissingScope, ilişkisi ne bir Scope özniteliği ne de Headers/ID ilişkilendirmesiyle belirlenemeyen başlık hücrelerini işaretler;pvuaiTableHeadersUndefinedIdise yapı öğesi kimliği tanımlamayan belgelerdeki Headers başvurularını işaretler TPdfStructureElement, yapı ağacı yürüyüşü sırasında çözümlenenScope,HasHeaders,HeadersIds,ColSpanveRowSpantablo özniteliklerini ortaya çıkarmaktadır
Değiştirildi
- Yapı ağacı yürüyüşü artık her öğenin öznitelik sözlükleri üzerinde tek bir geçişte tüm düzen ve tablo özniteliklerini okumaktadır; önceki uygulamada her öznitelik için ayrı bir tarama yapılıyordu
Version 1.79.1
Eklendi
AnnotationsLabörneği Lazarus ve C++Builder'a taşındı, mevcut Delphi konsol örneğine katıldı
Düzeltildi
TPdf.CreateAnnotation, dörtlü noktalar (Vurgu, Altı Çizili, Üstü Çizili, Dalgalı) kullanan işaretleme ek açıklamaları için "Cannot set attachment points" hatası verebiliyordu çünkü yeni ek açıklamanın henüz değiştirecek bir dörtlü yuvası yoktu; artık bunun yerine ilk dörtlüyü ekliyor
Version 1.79.0
Eklendi
- Yeni
AnnotationsLabDelphi konsol örneği: Metin, Vurgu, Kare ve Daire ek açıklamaları oluşturur, bunları bir PDF'ye yazar, ardından dosyayı yeniden yükler ve sayfa ek açıklama listesini numaralandırır
Version 1.78.0
Eklendi
- Yeni
TPdf.MeasureTextveTPdf.MeasureTextWidth: bir sayfaya içerik eklemeden belirli bir yazı tipi ve boyutu için bir dizenin oluşturulan genişliğini ve yüksekliğini (PDF kullanıcı birimleri, 1 birim = 1/72 inç) ölçer, böyleceAddTextüzerinde düzen ve kelime kaydırma mantığını mümkün kılar; bağımsızFPdfMeasureünitesi tarafından bir sınıf yardımcısı olarak sağlanır - Yeni
TPdf.WrapText:MeasureTextWidthüzerine inşa edilmiş, metni boşluklardan bölen ve kelimeleri belirli bir genişlikten (PDF kullanıcı birimleri) daha geniş olmayan satırlara sığdıran açgözlü kelime kaydırma; çok uzun tek bir kelime, kaydırılan satırları bir dizi olarak döndürerek kendi satırını alır (kelime içi bölme olmaz)
Version 1.77.0
Eklendi
ValidatePdfA, önceki boşluk denetiminde "NO" veya "okuyucu davranışı" olarak derecelendirilen maddeleri kapsayan üç yeniTPdfAValidationIssuedeğeri kazandı (eklenen sıra sayıları, mevcut değerler değişmedi):pvaiPdfiumNotDefGlyph(PDF/A-2 6.2.11.8 — bir eşleme hatası olmadan Unicode 0'a çözümlenen bir karakter, bir.notdefglif referansının çalışma zamanı belirtisi; Pdfium nesne modeli katmanı aracılığıyla algılandı),pvaiWordBreakMissing(Seviye A 6.8.3.2 — boşluk içermeyen 20 karakterden uzun bir içerik akışı gösterim dizesi, muhtemel bir birleştirilmiş kelime ihlali; CJK yanlış pozitiflerinden kaçınan kaba bir buluşsal yöntem) vepvaiLinkActionMissingTarget(6.6.3 — ekran hedef anahtarı eksik olan, böylece bir okuyucunun onu sunamayacağı bir GoToR/URI/SubmitForm eylemi)
Version 1.76.0
Eklendi (Added)
ValidatePdfA, üç yeniTPdfAValidationIssuedeğeri kazandı (sıra numaraları eklendi, mevcut değerler değişmedi):pvaiNameNotValidUtf8(PDF/A-2/3 6.1.8 — geçerli bir UTF-8 oluşturmayan, ≥ 0x80 baytlar içeren bir/BaseFontveya/FontNamesimgesi (token)),pvaiInlineImageLzwForbidden(PDF/A-2/3 6.1.10 — bir sayfa içerik akışındaki satıriçi (inline) bir görüntü, LZW veya Crypt filtresi kullanıyor) vepvaiTrueTypeDifferencesForbidden(6.3.7 Cor.2 — Encoding sözlüğü/Differencestaşıyan sembolik olmayan bir TrueType fontu)
Version 1.75.0
Eklendi (Added)
ValidatePdfAüç yeniTPdfAValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvaiIntegerImplementationLimit(PDF/A-2/3 6.1.13 — 32 bit işaretli tamsayı sınırı olan 2.147.483.647'yi aşan sayısal bir belirteç),pvaiBlendModeNotWhitelisted(PDF/A-2/3 6.2.10 — ISO 32000-1 §11.3.5 standart karışım modu (blend-mode) kümesi dışında bir/BMdeğeri; yalnızca Normal/Compatible'a izin veren PDF/A-1pvaiTransparentColorSpace'i tamamlar) vepvaiHexStringOddDigits(6.1.6 — tek sayıda onaltılık rakam içeren bir<...>onaltılık dizesi (hex string))
Version 1.74.0
Eklendi (Added)
ValidatePdfAüç yeniTPdfAValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvaiPermissionsViolation(6.1.12 —/DocMDPile birlikte/DigestLocation,/DigestMethodveya/DigestValuetaşıyan bir/Permssözlüğü),pvaiTransActionForbidden(PDF/A-2 6.5.1 — hatalı/Transparencyeşleşmelerini önlemek için/S /Transeylem sözlüğü kalıbı aracılığıyla tespit edilen bir Trans geçiş eylemi) vepvaiPdfiumObjectTransparency(PDF/A-1 6.4 — bir sayfa nesnesiFPDFPageObj_HasTransparency'ye göre gerçek saydamlık (transparency) taşır; bu, bayt düzeyindeki ad taramasının gözden kaçırabileceği karışım modu/yumuşak maske etkilerini yakalamak için v1.73.0'da tanıtılan Pdfium nesne modeli katmanını genişletir)
Version 1.73.0
Eklendi (Added)
TPdf.ValidatePdfAartık bayt düzeyindeki denetleyicinin üzerine bir Pdfium nesne modeli geçişi katmanlıyor:FPDFPage_GetObject→FPDFTextObj_GetFont→FPDFFont_GetIsEmbeddedaracılığıyla her sayfanın metin nesnelerinde gezinir ve gömülü olmayan render edilmiş bir yazı tipinipvaiPdfiumFontNotEmbedded(ISO 19005 6.3.4) olarak raporlar; ayrıcaFPDFText_HasUnicodeMapError'ı taramak için her metin sayfasını yükler ve bozuk bir Unicode eşlemesinipvaiPdfiumUnicodeMapError(6.3.8) olarak raporlar. Bunlar, bayt düzeyindeki denetleyicinin yapamayacağı kontrollerdir — yalnızca ad belirteçlerini (name tokens) görür, çözümlenmiş yazı tipi tanıtıcılarını veya karakter başına eşleme durumunu görmez — ve bayt düzeyindeki sonuca dahil edilirler. BağımsızValidatePdfACompliancebayt düzeyindeki işlevi değişmemiştir
Version 1.72.0
Eklendi (Added)
ValidatePdfAbeş yeniTPdfAValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvaiNeedsRenderingPresent(PDF/A-2 6.4.2 — katalog/NeedsRenderingtaşımamalıdır),pvaiDestOutputProfileRef(PDF/A-3 6.2.3 — bir OutputIntent/DestOutputProfileReftaşımamalıdır),pvaiEmbeddedFileMissingUF(PDF/A-3 6.8 —/EFiçeren bir dosya belirtimi/UFde taşımalıdır),pvaiXmpPacketBytesAttr(6.7.5 — XMP paket başlığı, kullanımdan kaldırılmış olanbytes=veyaencoding=özniteliğini taşımamalıdır) vepvaiAnnotationToggleNoView(PDF/A-2 6.3.2 — ek açıklamanın/FToggleNoView biti, değer 512, yasaktır)
Version 1.71.0
Değiştirildi (Changed)
ValidatePdfUaartıkpvuaiOrderedListMissingListNumbering(ISO 14289-1 7.6) bildiriyor: structure-tree walker (yapı ağacı gezgini), Pdfium attribute API'si aracılığıyla herLöğesindekiListNumberingdüzen özniteliğini çözer ve ISO 32000-1 Tablo 347 seti (Decimal,UpperRoman,LowerRoman,UpperAlpha,LowerAlpha,None,Circle,Disc,Square) dışındaki herhangi bir değeri işaretler. Liste sırasız olabileceğinden eksik bir öznitelik işaretlenmez; bu, 5. turun sonunda kaydedilen son kalıntı ISO 14289-1 boşluğunu kapatır
Version 1.70.0
Eklendi (Added)
ValidatePdfUadört yeniTPdfUaValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvuaiSubsetMissingCidSet(ISO 14289-1 7.21.4.2 — bir CID alt kümesiFontDescriptor,/CIDSetbildirmelidir),pvuaiToUnicodeForbiddenValue(7.21.7 — bir ToUnicode CMap hiçbir koduU+FEFFveyaU+FFFEile eşlememelidir; sıkıştırılmamış akışlar<FEFF>/<FFFE>çıktı formları için taranır),pvuaiLangInvalidFormat(7.2 —/Langgeçerli bir RFC 1766 / BCP 47 etiketi olmalıdır; esnek bir dilbilgisien,en-US,zh-Hans,es-419etiketlerini kabul eder ve açıkça uyumlu olmayan değerleri işaretler) vepvuaiOrderedListMissingListNumbering(7.6 — API bütünlüğü için tutulmaktadır; henüz doğrulayıcı tarafından bildirilmemektedir çünkü sıralı listeleri sırasız listelerden güvenilir bir şekilde ayırt etmek, structure-tree walker'ın sunmadığıListNumberingöznitelik değerini gerektirir)
Version 1.69.0
Eklendi (Added)
ValidatePdfUaiki yeniTPdfUaValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvuaiWidgetOutsideForm(ISO 14289-1 7.18.4 — bir Widget yapı öğesi birFormöğesinin içine yerleştirilmelidir; structure-tree walker artık her Widget’ın doğrudan üst öğe türünü doğrulamaktadır) vepvuaiSubsetMissingCharSet(7.21.4.2 — bir Type 1 alt kümesiFontDescriptor,/FontNameüzerindeki altı harfli+alt küme adı önekiyle tanımlanan/CharSetbildirmelidir)
Version 1.68.0
Eklendi (Added)
ValidatePdfUaiki yeniTPdfUaValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvuaiUriActionIsMap(ISO 14289-1 7.18.5 — bir URI eylem sözlüğü (action dictionary), erişilebilir bağlantı hedefini devre dışı bıraktığındantruedeğeriyle/IsMaptaşımamalıdır) vepvuaiHeadingSequenceViolation(7.4.2 — numaralandırılmış başlıklarH1ile başlamalıdır ve azalan bir dizi aradaki bir düzeyi atlamamalıdır, örn.H1→H3bir ihlaldir). Başlık kontrolü, doğrulayıcıdaki ilk structure-tree düzeyindeki PDF/UA kuralıdır:ValidatePdfUaStructureElementsartık türü belirtilmiş öğe listesinde gezinmekte ve belge sırasına göreH1…H6(ve 7.4.3 uyarıncaH7+) dizisini doğrulamaktadır
Version 1.67.0
Eklendi (Added)
ValidatePdfUabeş yeniTPdfUaValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvuaiLinkMissingContents(ISO 14289-1 7.18.5 — bir Link ek açıklaması (annotation),/Contentsaracılığıyla alternatif bir açıklama taşımalıdır),pvuaiAnnotationMissingContents(7.18.1 —/Contentsiçermeyen muaf tutulmamış herhangi bir ek açıklamanın alternatif bir açıklaması olmalıdır; Popup ve Widget muaftır),pvuaiEmbeddedFileMissingName(7.11 — bir dosya belirtimi sözlüğü (file specification dictionary)/Fve/UFiçermelidir),pvuaiMediaClipMissingAlt(7.18.6.2 — bir medya klibi veri sözlüğü/CTve/Altiçermelidir) vepvuaiCidFontMissingCidToGidMap(7.21.3.2 — gömülü bir Type 2 CIDFont,/CIDToGIDMapiçermelidir)
Version 1.66.0
Eklendi (Added)
ValidatePdfUabeş yeniTPdfUaValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvuaiRoleMapMissing(ISO 14289-1 7.1 — standart dışı yapı türlerine sahip etiketli bir belge bir/RoleMaptaşımalıdır),pvuaiOptionalContentAsKey(7.10 — isteğe bağlı içerik (optional-content) yapılandırma sözlüğü/ASotomatik durum (auto-state) anahtarını taşımamalıdır),pvuaiXfaPresent(7.15 — dinamik XFA yasak olduğundan bir AcroForm/XFAvarlığı işaretlenir),pvuaiTrapNetAnnotation(7.18.2 —/TrapNetek açıklamaları yasaktır) vepvuaiReferenceXObject(7.20 —/Refişaretiyle anahtarlanan Reference XObjects yasaktır)
Düzeltildi (Fixed)
ValidatePdfUaartık her şifrelenmiş dosyadapvuaiEncryptionPresentiçin hatalı pozitif (false-positive) vermiyor: PDF/UA, yardımcı teknoloji (assistive-technology) erişimine izin veren şifreleme sözlüğü/Panahtarında 10. bit konumu (değer 1024) ayarlı olduğu sürece şifrelemeye izin verir (7.16). Kesin ihlal artık yenipvuaiEncryptionPBitMissingaracılığıyla bildirilmektedir;pvuaiEncryptionPresent, API uyumluluğu için enum'da tutulmaktadır ancak artık bayt düzeyindeki doğrulayıcı tarafından bildirilmemektedir
Version 1.65.0
Eklendi (Added)
ValidatePdfAbeş yeniTPdfAValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvaiCidFontMissingCidToGidMap(ISO 19005-1 6.3.3.2 Cor.2 — gömülü bir Type 2 CIDFont/CIDToGIDMaptaşımalıdır),pvaiSubsetMissingCharSet(6.3.5 — bir Type 1 alt kümesiFontDescriptor,/CharSettaşımalıdır),pvaiSubsetMissingCidSet(6.3.5 — bir CID alt kümesiFontDescriptor,/CIDSettaşımalıdır),pvaiWidgetActionForbidden(6.6.1 — bir Widget ek açıklaması/Aveya/AAtaşımamalıdır) vepvaiOptionalContentAsKey(ISO 19005-2 6.9 — isteğe bağlı içerik yapılandırma sözlüğü,/ASotomatik durum anahtarını taşımamalıdır; PDF/A-2 isteğe bağlı içeriğe izin verdiği için bu yeni geçerli olmuştur)
Version 1.64.0
Eklendi (Added)
ValidatePdfAsekiz yeniTPdfAValidationIssuedeğeri kazandı (eklenen sıra numaraları, mevcut değerler değişmedi):pvaiHeaderBinaryMarkerMissing(ISO 19005-1 6.1.2 —%PDF-x.ybaşlığını, 127'den büyük en az dört baytlık bir%yorumu izlemelidir),pvaiExternalStreamRef(6.1.7 — bir akış sözlüğü/F,/FFilterveya/FDecodeParmstaşımamalıdır),pvaiOutputIntentScheme(6.2.2 — OutputIntent/S,/GTS_PDFA1olmalıdır),pvaiInfoXmpDateMismatch(6.7.3 — InfoCreationDate/ModDateayrıcaxmp:CreateDate/xmp:ModifyDateolarak görünmelidir),pvaiMarkInfoMissing(6.8.2.2 — A Seviyesi (Level A),/Marked trueile/MarkInfogerektirir),pvaiAnnotationApDictViolation(6.5.3 Cor.2 — ek açıklamanın (annotation)/APsözlüğü yalnızca/Niçermelidir),pvaiEmbeddedFileMissingAFRelationship(ISO 19005-3 Annex E.2 — ilişkili her filespec/AFRelationshiptaşımalıdır) vepvaiJpeg2000Violation(ISO 19005-2 6.2.8.3 — bir JPEG2000 görüntüsü 1, 3 veya 4 bileşen bildirmelidir)
Düzeltildi (Fixed)
ValidatePdfAartık/Font << /F 5 0 R >>gibi tek harfli bir yazı tipi kaynak adı kullanan belgelerdepvaiAnnotationFlagsViolationiçin hatalı pozitif (false-positive) vermiyor;/Fbayrağı taraması artık belgelenmiş davranışla eşleşen bir ek açıklama bağlamına (bir ek açıklama türünün/Subtypedeğeri) bağlanmıştır (6.5.3)ValidatePdfAartık dosya başına PDF/A-3 ilişkili dosya (associated-file) gereksinimini raporlamaktadır: bir belge önceki tüm belge geneli ya hep ya hiç kontrolü yerine, yalnızca/EFaracılığıyla gömülü bir akışa başvuran gömülü bir/Type /Filespeceksik/AFRelationshiptaşıdığında işaretlenmektedir (ISO 19005-3 Annex E.2)- Kullanımdan kaldırılan
/SetStateeylemi, PDF Reference eylem adının doğrudan yakalanabilmesi için/SetOCGStateile birlikte yasaklanan eylem (forbidden-action) kümesine eklendi (6.6.1)
Version 1.63.0
Eklendi (Eklendi (Added))
TPdf.MeasureTextveTPdf.MeasureTextWidtheklendi: belirtilen font ve boyuttaki metnin render genişliği ve yüksekliği, sayfaya içerik eklenmeksizin ölçülür (PDF kullanıcı birimi, 1 birim = 1/72 inç);AddTextüzerine düzen hesaplamaları ve otomatik satır kaydırma işlemlerini mümkün kılar; sınıf yardımcısı olarak bağımsızFPdfMeasureünitesi aracılığıyla sağlanır
Değiştirildi (Değiştirildi (Changed))
Demo\Delphi\MergePDF,Demo\CBuilder\MergePDFveDemo\Lazarus\MergePDFüç IDE için de geliştirildi: dosya başına sayfa aralığı, isteğe bağlı çıktı yolu, tekilleştirme, çalışma günlüğü, iptal düğmesi ve birleştirme özeti; yer imleri ve meta veriler ilk kaynaktan alınır- CreatePDF demolara Avrupa Metni seçeneği eklendi: aksan işaretli Çekçe, Fransızca, Almanca, İspanyolca, Portekizce, Lehçe ve Türkçe metinler için font seçimi ve Unicode işleme doğrulanır (eski EuropeanText demosu birleştirildi)
ExtractTextPagesveEuropeanTextkaldırıldı: sayfa sayfa metin çıkarma işlevi,ExtractTextiçindeki sayfa aralığı/ayraç seçenekleriyle karşılanmaktadır; EuropeanText çok dilli render desteği CreatePDF içine entegre edildi
Version 1.62.2
Düzeltildi (Düzeltildi (Fixed))
- Her RAD Studio sürümü ve platformu için C++Builder başlıkları (
.hpp) yeniden üretildi (Win32/Win64/Win64x); Pascal kaynaklarından sapmışlardı ve kaynak dağıtımı üzerinden C++Builder kullanıcılarına ulaşan eski fonksiyon imzaları ile eksik units bırakmışlardı
Version 1.62.1
Düzeltildi (Düzeltildi (Fixed))
- RAD Studio 12 Athens ve öncesinde kaynak derleme geri yüklendi: PDF/UA doğrulama yolundaki bir
TArray<Byte>ataması, Delphi 13'e özgü bir örtük dizi dönüşümü kullanıyordu ve eski IDE'lerde derlenemiyordu
Version 1.62.0
Eklendi (Eklendi (Added))
TPdf.RenderPageThumbnail, belgenin geçerli sayfasını, yüklenmiş sayfasını değiştirmeden veyaOnPageChangetetiklemeden herhangi bir sayfayı indeksine göre en boy oranına uyan bir bitmap'e render eder
Düzeltildi (Düzeltildi (Fixed))
TPdfThumbnailViewartık boyama sırasında host belgeninPageNumberdeğerini yönetmiyor; önceki sürümde her repaint sayfaları yeniden yüklüyor,OnPageChangetetikliyor ve metin sayfasını atıyordu, bu da bağlı birTPdfView'i bozup repaint döngülerine yol açabiliyordu. Küçük resimler artık bu yan etkiler olmadanRenderPageThumbnailüzerinden render ediliyor- PDF/X uyumluluk doğrulaması artık cross-reference-stream belgelerini (PDF 1.6, PDF/X-4 için tipik) ve compressed object streams içinde saklanan nesneleri inceliyor, bu tür dosyaları bütünüyle uyumsuz olarak bildirmek yerine;
GTS_PDFXVersionişareti hem element formundan hem de RDF attribute-form XMP'den okunuyor - PDF/R doğrulaması artık Info sözlüğü ile XMP, Producer veya Creator konusunda uyuşmadığında
pvriInfoXmpMismatchraporluyor; sorun daha önce tanımlanmıştı ama hiç yükseltilmiyordu - Form-fill zamanlayıcıları istek bazında izleniyor, bu yüzden aynı anda birden fazla zamanlayıcı çalıştıran bir belge, örneğin alan imleci yanıp sönerken bir JavaScript aralığı, sonuncu dışında hepsini kaybetmek yerine hepsini koruyor
TPdfViewboyama işlemi ve onun genelRenderPage/RenderTileyöntemleri artık belge render kilidini tutuyor ve aynıTPdf'nin worker thread render'ına karşı sıralama sağlıyor, çünkü PDFium thread-safe değil- PDF/X, PDF/R ve PDF/VT metadata'sına yazılan ASCII dışı metinler (OutputIntent condition names, Creator, Producer) artık ISO 32000-1 §7.9.2.2 uyarınca ham UTF-8 yerine UTF-16BE dizesi olarak kodlanıyor; uyumlu okuyucular bunu yanlış okuyordu
- Uyumluluk yardımcıları,
/Length'i dolaylı başvuru olan gömülü metadata akışlarını doğru okuyor, kaynak baytlarıReadBufferile yüklüyor, böylece kısa okuma temizce başarısız oluyor, ve aralık dışı okuma riskini almak yerine negatif birstartxrefofsetini reddediyor
Version 1.61.0
Değiştirildi (Değiştirildi (Changed))
- Etkilenen callback'leri uygulayan kodun yeniden derlenmesini gerektirebilecek FFI/ABI bildirim düzeltmeleri:
FFI_OpenFileform-fill callback'i artıkcdecl(Win32 stack convention) taşıyor vevalueparametresi, PDFium başlıklarıyla eşleşmesi içinFPDFAnnot_SetStringValueileFPDFAttachment_SetStringValueiçinde artıkFPDF_WIDESTRING(UTF-16LE) oluyor - Progressive-load callback'leri
FX_FILEAVAIL.IsDataAvailveFX_DOWNLOADHINTS.AddSegmentartıksize_toffset'leri alıyor vesize_tFree Pascal / Lazarus Win64'te işaretçi genişliğinde; daha önce 32 bit'e kırpılıyordu, bu da FPC Win64'te data-availability veoutsize_tAPI çağrılarını düzeltiyor
Düzeltildi (Düzeltildi (Fixed))
- Bellek güvenliği: etkin bir AcroForm imleci olan bir
TPdfyok edilirken form-fill zamanlayıcısında use-after-free;FPDF_CloseDocumentçağrısınınImportNPagesToOnehata yolunda iki kez çalışması; kaydetme ve JPEG ekleme sırasındaFPDF_FILEWRITE/FPDF_FILEACCESScallback'lerinden C sınırının dışına taşan Pascal exception'ları; ve başlangıç indeksinden sayfa sonuna kadar okurken metin çıkarımında bir tamsayı taşması TPdfFuture<T>artık sonuç callback'ini güvenilir şekilde teslim ediyor; yanıt daha önce neredeyse her zaman düşüyordu ve serbest bırakılmış bir iş parçacığına dokunabiliyordu, çünkü worker sıraya alınan yanıt çalışmadan önce kendini serbest bırakıyordu- PDF/A, PDF/X, PDF/E, PDF/R, PDF/VT ve PDF/UA çıktıları artık ISO 32000-1 §7.5.4 gereği tam 20 baytlık cross-reference girdileri yazıyor
- Standards marker yerleştirme işlemi, kaldırılan anahtar, örneğin
/Trapped, son giriş olduğunda artık dictionary'yi bozmaz; önceki sürümde kapanış>>yutuluyor ve bozuk bir nesne oluşuyordu - OutputIntent ICC profile streams artık PDF/X ve PDF/VT için gerekli
/Nbileşen sayısını bildiriyor, PDF/A için zaten vardı; şifreli kaynak belgeler PDF/X, PDF/E, PDF/R, PDF/VT ve PDF/UA marker'ları eklenmeden önce çözümleniyor, böylece çıktı sessizce bozulmak yerine geçerli oluyor - Üretilen XMP içindeki UTF-8 xpacket BOM tam baytlar olarak yazılıyor, böylece ANSI code page'i Latin-1 olmayan Delphi kurulumlarındaki bozulma düzeliyor; artımlı güncelleme trailer'ları artık belgenin
/Inforeferansını koruyor SaveAskompresyonla artık/Length'i dolaylı başvuru olan akışları kırpmıyor ve yeniden oluşturulan cross-reference tables artık 20 baytlık girdiler, gerçek generation numbers kullanıyor ve eski/Previşaretçisini bırakıyor- Uyumluluk doğrulaması, PDF/E ve PDF/X için attribute-form XMP sürüm işaretçilerini okuyor, böylece attribute olarak serileştirilmiş PDF/X-4 dosyaları tanınıyor, tam
PDF/E-1tanımlayıcısını istiyor, dolaylı/Lengthmetadata akışlarını doğru okuyor ve PDF/UA trailer'ını kontrol ederken bir structure element'in/IDya da/StructTreeRootanahtarını artık yanlış eşleştirmiyor; bozuk birstartxrefofseti artık range hatası oluşturmuyor TPdfThumbnailView: son sayfaya artık kaydırma çubuğuyla ulaşılabiliyor, host belgenin geçerli sayfası küçük resimler çizildikten sonra geri yükleniyor ve standart mouse-leave işleme yeniden gönderiliyor- Gri tonlu sayfa ve görüntü bitmap'leri artık yanlış paletle render edilmiyor;
TPdfView, kendiTPdf'si önce serbest bırakıldığında artık sallanan bir başvuruyla kalmıyor - Preflight raporları: HTML, bildirilen charset ile eşleşmesi için UTF-8 olarak kaydediliyor ve JSON string escaping, Free Pascal'da ASCII dışı karakterler için doğru
\udizileri üretiyor - Deneme derlemeleri: deneme sürümü hatırlatma iletişim kutusu artık görünmeden önce bastırılmıyor
TPdfStreamAdapterartık 4 GiB'den büyük akışları, PDFium'a iletilen uzunluğu sessizce kırpmak yerine net bir hata ile reddediyor
Version 1.60.1
Değiştirildi (Değiştirildi (Changed))
- Delphi, Lazarus ve C++Builder için AccessibilityReader demoları artık
TPdfReadingSessionüzerinde yüksek sesle okuma çalıştırıyor: her sayfaBuildSpokenTextFromWordsile tek bir seslendirilmiş parçaya dönüştürülüyor, SAPI word positionsFeedSpokenPosition'ı besliyor ve oturum sayfalar arasında ilerleyip görünümün kelime imlecini yönetiyor, böylece her demo için daha önce elle yazılmış orkestrasyonun yerini alıyor - Demolardaki word-level karaoke tracking artık NVDA speech engine olduğunda da çalışıyor:
EstimatePacingreading cursor'ı geçen konuşma süresine göre tempoluyor, oysa NVDA daha önce hiç word tracking olmadan yüksek sesle okuyordu - Demolardaki Pause ve Resume artık NVDA ile de çalışıyor:
ResumeRestartsChunkResume sırasında geçerli sayfayı başından tekrar okuyor, SAPI ise kendi yerinde pause ve resume davranışını koruyor
Version 1.60.0
Eklendi (Eklendi (Added))
TPdfViewüzerinde canlı düşük görme için işleme: yenireInvertvereNightDuotonerender seçenekleri, arama, seçim, okuma ve kelime imleci katmanları çizilmeden önce render edilen her sayfa parçasını yeniden renklendiriyor, tam renk tersleme ya da bir gece duotone paleti uyguluyor ve mevcut bitmap renk dönüşümlerini hem tek sayfalı hem de facing-pages düzenlerde etkileşimli görüntüleyiciye taşıyor; seçenekler değiştirildiğinde anında yeniden çiziliyorNightDuotoneInkveNightDuotonePapergece paletini ayarlıyor, varsayılan olarak siyah sayfa üzerinde kehribar renkli metin kullanıyor; her iki seçenek de ayarlandığındareInvertkazanıyor
Version 1.59.0
Eklendi (Eklendi (Added))
TPdfReadingSession: konuşma motorundan bağımsız bir yüksek sesle okuma orkestrasyon bileşeni. Parça imlecini, kelime imlecini ve oynatma durumunu (Play/PlayFrom/Pause/Resume/Stop) tutar, yüklenenTPdfSpokenTextparçaları arasında, host motorun boşta olduğunuTickile bildirdikçe ilerler, spoken-text offset'lerini sayfa karakterlerine geri çevirir ve bağlı birTPdfViewkelime imlecini otomatik olarak yönetir; host herhangi bir konuşma motorunuOnSpeakve cancel / pause / resume istek olayları üzerinden bağlar, böylece kitaplık hiçbir speech API'sine doğrudan bağlanmazFeedSpokenPositionmotor word position'larını tüketir, örneğin SAPIStatus.InputWordPosition;EstimatePacingileEstimatedWordsPerMinuteposition signal olmayan motorların temposunu ayarlar;ResumeRestartsChunknative pause'u olmayan motorlar için geçerli chunk'ı yeniden okurOnChunkChange,OnWordChangeveOnFinishedyalnızca gerçek değişikliklerde tetiklenir ve serbest bırakılan bağlı görünüm kendini otomatik olarak ayırır, böylece host kodu flicker olmadan ve crash-safe kalır
Version 1.58.0
Eklendi (Eklendi (Added))
EstimateSpokenWordIndexbir speech engine'in hangi kelimeyi seslendirdiğini geçen süre ve dakika başına kelime hızına göre tahmin eder, daha uzun kelimelere orantılı olarak daha fazla zaman vererek word position bildirmeyen motorların, örneğin NVDA controller client, yine de word-level reading cursor'ı yönlendirmesini sağlar; çağıran geçen süreyi verir, bu yüzden rutin clock-free kalır ve unit-testable olur
Version 1.57.0
Eklendi (Eklendi (Added))
- Read-aloud izleme için iki alanlı eşleme ile spoken-text birleştirme:
BuildSpokenTextFromWordsveSpokenTextAppend, sayfadaki word boxes'dan bir text-to-speech engine'e verilen dizgeyi oluştururken bir span table kaydeder veSpokenToPageCharmotorun bildirdiği spoken offset'i, örneğin SAPIStatus.InputWordPosition, sayfa karakter indeksine geri çevirir, böylece spoken text sayfanın tamamı olmadığında da word-level highlight tracking doğru kalır, örneğin skipped regions, per-unit reading ve pronunciation overrides durumlarında TPdfSpokenTextveTPdfSpokenSpantürleri spoken string'i ve bunun oluşturulduğu kaynak sayfa aralıklarını taşır; eklenen separators üzerindeki offset'ler bir sonraki eşlenmiş kelimeye çözülür ve eşlenmiş aralıkların ötesindeki offset'ler eşleşme olmadığını bildirir
Version 1.56.9
Eklendi (Eklendi (Added))
Demo\Delphi\PreflightReportartık başarısız olan standartları, öncelikleri, bir sonraki eylemleri, sorun kodlarını ve önerileri tek bir remediation checklist içinde özetleyen bir Action Plan önizlemesi eklerDemo\Delphi\PreflightReportCli, tek dosya ve toplu çalıştırmalarda çıkış biçimi olarakplan/actionplankabul eder ve aynı remediation checklist'i metin dosyasına yazar- Her iki Delphi PreflightReport demosu da artık toplam standart ve sorun sayılarıyla birlikte pass / action / review durum sayaçlarını gösterir
Version 1.56.8
Değiştirildi (Değiştirildi (Changed))
ViewerInteractionLabartık sayfa atlama kontrolleri, manuel yakınlaştırma kontrolleri, tıklamayla tetiklenenDeviceToPage/PageToDevicekoordinat kaydı ve seçim, arama, döndürme, gezinme doğrulamaları için daha net bir etkileşim günlüğü içerirViewerInteractionLabreadme sayfaları, yerelleştirilmiş demo readme kümesi genelinde eklenen etkileşim akışını belgelemektedir
Version 1.56.7
Eklendi (Eklendi (Added))
AccessibilityWorkbenchCli, tetiklenen her finding'i WCAG 2.1 Success Criteria ve ISO 14289-1 (PDF/UA-1) madde alanına eşler ve raporlarda standards-coverage bölümünü gösterirAccessibilityWorkbenchCliyayınlanmış ceza rubriğine ve excellent / good / needs work / poor bantlarına göre 0-100 erişilebilirlik puanı hesaplar, dosya bazında ve toplu ortalama olarak sunarAccessibilityWorkbenchClifailscore=Ndeğerini kabul eder; herhangi bir dosya N'nin altında kaldığında çalıştırma kodu 2 ile başarısız olurAccessibilityWorkbenchClitoplu özet adı.sarifile bittiğinde, CI ve kod taraması için her finding türünde bir kural taşıyan ve WCAG 2.1 ile PDF/UA etiketlerini içeren bir SARIF 2.1.0 günlüğü yazarAccessibilityWorkbenchClibağlı PDFiumPas sürümünü yazdıranversionkomutunu ekler
Version 1.56.6
Eklendi (Eklendi (Added))
IntakeWorkbenchCliher giriş dosyası için SHA-256 adli karması hesaplar (unavailabledeğerine düşerek, derleyicideSystem.Hashbulunmadığında) ve bunu tüm formatlarda raporlarIntakeWorkbenchCliaday listesinden parola gerekli belgeleri deneme amaçlı açmak içinpasswords=file.txtalır, eşleşen aday indeksini kaydeder ve parola metnini asla yazmazIntakeWorkbenchCli, her denetlenen dosyayı risk seviyesine göre alt klasöre taşımak içincopyto=dirkabul ederIntakeWorkbenchCli, toplu özet adı.sarifile bittiğinde CI ve kod taraması için her risk işareti başına bir kural ve işaretlenmiş her dosya için bir sonuç içeren SARIF 2.1.0 günlüğü yazarIntakeWorkbenchClibağlı PDFiumPas sürümünü yazdıranversionkomutunu ekler
Version 1.56.5
Eklendi (Eklendi (Added))
IntakeWorkbenchCliartık accept, request-password, manual-review, quarantine, deduplicate gibi sonrası işlemler için önerilen adımları hesaplar ve toplu özetlerde eylem sayısını gösterirAccessibilityWorkbenchCliartık pass-through, remediate-tags, run-ocr, remediate-semantics, manual-review gibi düzeltilmiş eylemleri önerir ve toplu eylem sayılarını eşleştirir
Düzeltildi (Düzeltildi (Fixed))
- Her iki CLI demosu da önerilen eylemi konsol, text, HTML, JSON ve CSV çıktılarında gösterir; böylece toplu operatörler dosyaları ek işleme riski veya durum alanlarına ihtiyaç duymadan yönlendirebilir
Version 1.56.4
Düzeltildi (Düzeltildi (Fixed))
- Ek açıklamalar, yer imleri veya bağlantı ek açıklamalarını döngüde okurken önceki öğenin metin dizesi artık sızmaz:
TPdfAnnotation,TBookmarkveTLinkAnnotationsonuç kayıtları ham bellek sıfırlama yerine managed-type-aware başlatma ile temizlenir; bu sayede çok fazla metin taşıyan ek açıklamalı belgeler uygulamanın yaşam süresince süreç belleğini şişirmez - Bir
TPdfyok edilirken, kayıtlı birOnUnsupportedFeatureişleyicisi varsa bu işleyici işlem genelindeki PDFium callback'inden ayrılır; böylece başka birTPdförneği kendi işleyicisi olmadan sonraki belgeyi yüklerken artık serbest bırakılmış bileşene yönlendirme yapamaz (use-after-free)
Version 1.56.3
Düzeltildi (Düzeltildi (Fixed))
AccessibilityWorkbenchCliartık boş sayfaları heuristic reading-order sayfası olarak saymaz, böylece boş ayırıcı sayfası olan etiketli belgelerde erişilebilirlik durumu doğru kalır; okunabilir içeriği olmayan sayfalar ayrı raporlanırAccessibilityWorkbenchClitablo başlığı algılama işlemi, gömülü bir tablonunTHhücrelerini artık dış tabloya yazmaz ve form alanı ile yazı tipi adlarını büyük-küçük harf duyarlı eşleştirir; böylece farklı alanlar birleştirilmezIntakeWorkbenchCliURL host envanterleri artık userinfo, sorgu ve fragment bölümlerini kaldırır; böylecetrusted.example@evil.examplegibi hazırlanmış bir bağlantı gerçek ana bilgisayara ait olur vemailto:hedefleri artık görünmez olmak yerine domain sağlarIntakeWorkbenchCliMarkdown raporları saldırgan kontrollü yolları, ana bilgisayarları ve ek dosya adlarındaki ters tırnakları kaçarak rapor biçiminin belgelerden bozulmasını engeller
Değiştirildi (Değiştirildi (Changed))
AccessibilityWorkbenchCli, font-scan ve form-field-scan başarısızlıklarını ayrı sayaçlar olarak raporlar, gömülü örnekleri olan gömülü olmayan yazı tiplerini işaretler ve uzun yazı tipi listelerini belirgin bir kesme işareti ile sınırlarIntakeWorkbenchClitoplu özetleri attachment-annotation sayısı sütununu ekler ve sayfa başına ek açıklama sayımı 20000 ile sınırlandırılır; bu sınır her formatta raporlanır
Version 1.56.2
Eklendi (Eklendi (Added))
AccessibilityWorkbenchCliartık font gömme, form alanı tooltip bilgileri, okuma sırası kaynağı, belge ana hatları, tablo ve liste yapısı, şüpheli alternatif metin ve daha zengin sayfa başına inceleme ayrıntılarını denetleyerek accessibility toplu raporlarının daha fazla düzeltme hedefi belirlemesini sağlarIntakeWorkbenchCliartık sayfa tarama sınırları, launch ve remote-go-to eylemleri, URI host envanterleri, ek açıklama sayıları, desteklenmeyen PDFium özellikleri, yinelenen belge tanımlayıcıları ve otomatik intake incelemesi için genişletilmiş risk işaretlerini raporlar
Değiştirildi (Değiştirildi (Changed))
IntakeWorkbenchCli, metadata, attachment, script, XFA, signature ve risk raporlamasını tamamlamaya devam ederken belge başına sayfa taramasını sınırlamak için tek dosya ve toplu modlardamaxpages=Nkabul eder
Version 1.56.1
Düzeltildi (Düzeltildi (Fixed))
- Daha yeni bir dışa aktarımı eksik olan eski bir
pdfium.dllyüklemek artık temiz biçimde başarısız olur: hata yolu bağlı her API giriş noktasını sıfırlar, böyleceAssigned()denetimleri (örneğinFPDF_GetLastErrorveyaFPDF_GetSecurityHandlerRevisionüzerinde) zaten kaldırılmış modülü çağırıp erişim ihlaliyle çökmek yerine kitaplığın yüklenmediğini bildirir UnloadLibraryartık yalnızca isteğe bağlı V8 yardımcılarını değil, tüm PDFium API bağlamalarını temizler; böylece DLL serbest bırakıldıktan sonra eski işlev işaretçileri kalmaz
Version 1.56.0
Eklendi (Eklendi (Added))
TPdfViewüzerinde sözcük düzeyi karaoke okuma imleci:TrackReadingWordAt, SAPIStatus.InputWordPositiongibi bir metinden sese motorunun geçerli sözcük karakter uzaklığını sayfa sözcük kutularına eşler, bunu içeren sözcüğü okuma bloğunun üzerinde ayrı bir katman olarak vurgular, görünüme kaydırır ve sözcük dizinini döndürür; böylece ses ilerledikçe seslendirilen sözcük parlarSetReadingWordveClearReadingWord, vurgulanan sözcüğü doğrudan birTPdfWordBoxüzerinden ayarlar veya temizler; aynı sözcüğü yeniden ayarlamak no-op olduğundan sözcük düzeyi takip görünümü titreştirmezReadingWordColorveReadingWordFollow, sözcük imleci rengini ve görünümün seslendirilen sözcüğü otomatik olarak görünüme kaydırıp kaydırmayacağını denetler
Version 1.55.2
Düzeltildi (Düzeltildi (Fixed))
- ViewerInteractionLab artık araç çubuğu satırlarına daha fazla dikey alan verir; böylece Open PDF, Create Sample, gezinme, arama ve seçim denetimleri ölçeklenmiş yazı tiplerinde artık çakışmaz
Version 1.55.1
Düzeltildi (Düzeltildi (Fixed))
- ViewerInteractionLab artık Prev, Next ve Rotate öğelerini ikinci araç çubuğu satırına yerleştirerek başlangıçta Open PDF ve Create Sample ile çakışmayı önler
Version 1.55.0
Eklendi (Eklendi (Added))
- "Oku, seç" tarzı okuma için kelime-seçim köprüsü:
TPdfView.SelectWordBoxveSelectWordSpan, karakter aralıklarına göre tek bir kelime kutusunu ya da aynı sayfadaki bir kelime kutusu aralığını (PageWordBoxesiçinden) seçer; böylece o anda okunan kelime veya satır hem seçilebilir hem de kopyalanabilir WordBoxIndexAtCharIndex, bir karakter indeksini onu içeren kelime kutusuna geri eşler; böylece TTS okuma imleci ilerlerken kelime kelime vurgu yapılabilir
Version 1.54.0
Eklendi (Eklendi (Added))
- Mantıksal imleçten doğrudan odaktaki alanı okuyan sesli form doldurma erişimcileri:
FocusedFormFieldValue,FocusedFormFieldNameveFocusedFormFieldDetails,TPdfileTPdfViewüzerinde geçerli alanın değerini, insan tarafından okunabilir adını (/TUtooltip'i, yoksa/T) ve tamTPdfFormFieldInfobilgisini (tür, bayraklar, seçenekler) raporlar; bu da form içinde ilerleyen bir sesli arayüzün duyurmak için ihtiyaç duyduğu her şeyi sağlar
Düzeltildi (Düzeltildi (Fixed))
FocusedFormFieldValue, alanı pdfium etkileşimli odağıyla değilFocusedFormFieldIndexüzerinden okur; bu sayede ekranda görünür imleç olmasa bile ses odaklı form doldurucu doğru değeri alır (mevcutFocusedFormFieldTextyine pdfium odağını yansıtır ve değişmeden kalır)
Version 1.53.0
Eklendi (Eklendi (Added))
- Kelime düzeyinde vurgu desteği:
TPdf.PageWordBoxesveTPdfView.PageWordBoxes, bir sayfayıTPdfWordBoxkayıtlarına böler; her kayıt kelime metnini, karakter aralığını ve sayfa koordinatlarındaki sınır dikdörtgenini taşır; böylece erişilebilirlik okuyucusu bu dikdörtgeniSetReadingHighlight'a vererek konuşulan her kelimeyi sırayla vurgulayabilir BuildWordBoxesSayfa metnini kelime metni ve FTextPage karakter aralıkları içeren TPdfWordBox kayıtlarına ayırır
Version 1.52.0
Eklendi (Eklendi (Added))
- Düşük görme desteği için render yardımcıları
InvertPdfBitmap,GrayscalePdfBitmapveDuotonePdfBitmap, işlenmiş 32 bit bitmap üzerinde yerinde renk dönüşümleri uygular; böylece erişilebilirlik okuyucusu sayfaları ters / koyu mod, gri tonlu ya da özel iki renkli şema ile gösterebilir - Yardımcı pf32bit biçimini zorlar ve ScanLine piksellerini doğrudan günceller, bu nedenle RenderPage veya ToBitmap sonrasında ek ara tampon olmadan çalışır
Version 1.51.0
Eklendi (Eklendi (Added))
- Yardımcı dinle-oku akışları için cümle düzeyinde okuma birimleri:
TPdf.ReadingUnits,TPdf.DocumentReadingUnitsveTPdfView.ReadingUnits, okunabilir içerik akışını sıralı, cümle boyutundaTPdfReadingUnitkayıtlarına dönüştürür; her kayıt konuşulacak metni, anlamsal türünü, sayfasını, vurgu dikdörtgenlerini ve dil etiketini taşır; böylece ekran okuyucu uygulaması sayfa ya da belge boyunca konuşma birimi birimi ilerleyebilir NextReadingUnitOfKindKind değeri istenen TPdfContentFragmentKind ile eşleşen sonraki veya önceki TPdfReadingUnit öğesini bulurBuildReadingUnits, herhangi birTPdfContentFragmentsdeğerini doğrudan okuma birimlerine dönüştürür: başlıklar ile figure/alt açıklamaları bütün kalır, paragraflar cümle sınırlarında bölünür, ondalık noktalar korunur ve okuma imleci yalnızca çağırana ait düz bir indeks olarak kalır
Version 1.50.0
Eklendi (Eklendi (Added))
ValidatePdfAartık katalogu, OutputIntent'i veya diğer sözlükleri sıkıştırılmış nesne akışları (/Type /ObjStm) içinde saklayan PDF 1.5+ belgelerini de inceleyebiliyor. Object stream'ler açılır ve taşıdıkları nesneler çözümlenir; böylece bu tür belgeler, PDF/A işaretlerini eksik olarak raporlanmak yerine kendi içerikleri üzerinden doğrulanır
Version 1.49.5
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfAartık eksik birpdfaExtension:schemasaçıklamasını sorun olarak raporlamıyor. PDF/A tanımlayıcı şeması (pdfaid) iyi bilinen bir şemadır; bu nedenle ne veraPDF ne de PDF/A-2/-3 onun için bir extension-schema açıklaması gerektirir ve yokluğunun işaretlenmesi, uyumlu her üçüncü taraf PDF/A'sını yanlış raporluyordu. Kitaplığın kendi ürettiği belgeler bu açıklamayı hâlâ içerir
Version 1.49.4
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfAartık PDF/A tanımlayıcısı alt öğeler yerine XML öznitelikleri (pdfaid:part="2") olarak yazıldığında da uyumluluk düzeyini tespit ediyor; böylece öznitelik biçimindeki belgeler artık bilinmeyen düzeyle raporlanmıyor. Bu, tespit edilemeyen bir düzeyin parçaya özgü denetimleri katı PDF/A-1 kurallarına geri düşürerek PDF/A-2 ve PDF/A-3'ün izin verdiği gömülü dosyaları ve şeffaflığı yanlışlıkla işaretlemesine yol açan bir zincirleme etkiyi de düzeltir
Version 1.49.3
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfAartık çapraz başvuru verisi bir cross-reference stream olan (traileranahtar sözcüğü bulunmayan) PDF 1.5+ belgelerini de inceliyor. Uyumluluk düzeyi, trailer/IDdeğeri ve diğer işaretler cross-reference stream sözlüğünden okunur; böylece bu tür belgeler tamamen uyumsuz olarak raporlanmak yerine kendi içerikleri üzerinden doğrulanır
Version 1.49.2
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfAartık tüm yazı tiplerini gömen belgelerde yapay bir gömülü-olmayan-yazı-tipi sorunu raporlamıyor. Önceki sezgisel yöntem,/FontDescriptorbelirteçlerinin sayısını gömülü yazı tipi programlarıyla karşılaştırıyordu; ancak gömülü her yazı tipi iki/FontDescriptorbelirteci katkı sağlar (yazı tipi sözlüğü başvurusu artı descriptor nesnesi); bu yüzden her gömülü-yazı-tipi dosyası yanlışlıkla işaretleniyordu. Denetim artık yalnızca yazı tiplerine başvuran ancak hiçbir yazı tipi programı gömmeyen bir belgeyi raporluyor; bu da karşılık gelenValidatePdfUadüzeltmesiyle uyumludur
Version 1.49.1
Düzeltildi (Düzeltildi (Fixed))
- PDF/A çıktısı artık veraPDF ile uyumlu PDF/A-1b ve PDF/A-1a olarak doğrulanıyor: gömülü sRGB OutputIntent ICC profil akışı (
/DestOutputProfileile başvurulan) artık ISO 19005-1 6.2.3.2'nin zorunlu kıldığı gerekli/Nbileşen sayısını (yerleşik RGB profili için 3) bildiriyor.SaveAsPdfAtarafından üretilen belgeler, hedef profil akışı/Ndeğerini atladığı için daha önce katı PDF/A-1 doğrulamasında başarısız oluyordu; değer ICC profil başlığından türetildiğinden, çağıran tarafından sağlanan bir CMYK veya Gray profili de doğru sayıyı alır
Version 1.49.0
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfUaartık uyumlu etiketli PDF belgelerinde eksik XMP kimlik bilgisini yanlışlıkla raporlamıyor — PDF/UA tanımlayıcısı (pdfuaid:part),dc:title, XMP tarihleri ve fragman/IDdeğeri artık/MetadataXMP akışını ve çapraz başvuru akışlı (cross-reference-stream) dosyalarda fragman/IDdeğerini atlayan yeniden kaydedilmiş kopya yerine özgün belge baytlarından okunuyorValidatePdfUayazı tipi gömme denetimi düzeltildi; böylece tüm yazı tiplerini gömen bir belge artık gömülü olmayan yazı tipleri içeriyormuş gibi raporlanmıyor; artık yalnızca yazı tiplerine başvuran ancak hiçbir yazı tipi programı gömmeyen bir belgeyi işaretliyorValidatePdfUaartıkFormulayapı öğesini, alternatif metniActualTextüzerinden sağlandığındaAltgirdisi yerine kabul ediyor (ISO 14289-1 §7.7); mevcutFigurekuralıyla tutarlı biçimde
Version 1.48.0
Eklendi (Eklendi (Added))
TPdfViewüzerinde programatik metin seçimi:SelectTextRange(sayfaya ve karakter aralığına göre) veSetSelection(açık biçimde sayfa başına aralıklarla) metni koddan seçer — örneğin bir bölümü okuyup vurgulamak için; her ikisi de yeniden çizer ve seçim değiştiğindeOnSelectionChangeolayını tetikler.SelectionRanges, geçerli seçimi sayfa başına karakter aralıkları olarak okur veSelectionRectangles, özel vurgulama veya kaydırarak-gitme için onun dikdörtgenlerini sayfa koordinatlarında döndürür.
Version 1.47.0
Eklendi (Eklendi (Added))
- Sesle yönlendirilen form doldurma için form alanı gezinmesi, hem
TPdfhem deTPdfViewüzerinde:FormFieldTabOrder,FocusedFormFieldIndex,FocusFormField,FocusNextFormField,FocusPreviousFormField,ClearFormFieldFocusveFocusedFormFieldText. Bunlar, sayfanın widget alanları üzerinde sekme sırasına göre mantıksal bir alan imlecini hareket ettirir (uçlarda başa sarar); böylece bir yardımcı okuyucu formu adım adım dolaşabilir, her alanıFormFieldInfo[Index].AlternateName(/TU ipucu) aracılığıyla seslendirebilir veFormField[Index]aracılığıyla doldurabilir. TPdfView.OnFormFieldFocusChangeolayı, alan imleci hareket ettiğinde tetiklenir (yeni alan dizinini taşır veya temizlendiğinde -1).
Version 1.46.0
Eklendi (Eklendi (Added))
- Yardımcı, dinleyerek-okuma içerik akışı:
TPdf.ReadableContent,TPdf.ReadablePageContent,TPdf.DocumentReadableContentveTPdfView.ReadableContent, sıralı bir anlamsalTPdfContentFragmentöğeleri listesi döndürür; her öğe seslendirilecek metni (gerçek glifler veya şekiller içinActualText/Alt), bir parça türünü (düzeyiyle birlikte başlık, paragraf, şekil, liste öğesi, tablo hücresi, bağlantı, düz), dili, 1 tabanlı sayfayı ve blok ile satır başına vurgu dikdörtgenlerini taşır. Etiketli PDF belgeleri yapı ağacından mantıksal okuma sırasına göre doğrusallaştırılır; etiketsiz sayfalar render sırasına geri döner; böylece herhangi bir belge sesli okunabilir. TPdfViewüzerinde eşzamanlı okuma vurgusu:SetReadingHighlight,ClearReadingHighlightve yayımlananReadingHighlightColor, arama ve seçim katmanlarının üzerinde, o anda okunmakta olan bloğu vurgular.- Yeni genel türler
TPdfContentFragment,TPdfContentFragments,TPdfReadableContent,TPdfContentFragmentKindveTPdfReadingOrderSourceile yeni yardımcıClassifyStructType.
Version 1.45.0
Eklendi (Eklendi (Added))
ValidatePdfUaartık canlı etiketli yapı ağacını da dolaşarak bayt düzeyinde taramanın tespit edemediği üç yüksek güvenilirlikli içerik ihlalini raporlar: Alt girişi ve ActualText değerinden ikisi de bulunmayan birFigureöğesi (ISO 14289-1, 7.3), Alt özniteliği olmayan birFormulaöğesi (7.7) ve benzersiz kimliği bulunmayan birNoteöğesi (7.9). Bu üç durumu ortaya çıkaran yeniTPdfUaValidationIssuedeğerleri şunlardır:pvuaiFigureMissingAlt,pvuaiFormulaMissingAltvepvuaiNoteMissingId. Belge etiketlenmemişse yapı ağacı dolaşımı atlanır.- Yeni genel yardımcı
ValidatePdfUaStructureElements, söz konusu yapı ağacı kurallarını (TPdf.StructureElementstarafından döndürüldüğü biçimiyle) düz bir öğe listesine uygular; böylece denetimlerin tam belge yüklenmeksizin çalıştırılması veya birim testine tabi tutulması mümkün olur.
Version 1.44.5
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfAfont gömme denetimi (pvaiFontNotEmbedded, ISO 19005-1, 6.3.4) artık/FontDescriptoriçermeyen gömülü olmayan basit fontları da tespit ediyor; en önemlisi, PDF/A'nın istisnasız biçimde gömülmesini zorunlu tuttuğu 14 standart Type 1 fontu. Önceden böyle bir font fark edilmeden geçebiliyordu; denetim artık basit font sözlüklerini de (/Type1,/TrueType,/MMType1) gömülü font programlarına karşı sayıyor ve bu yönüyle 1.44.3 içindeki PDF/UA düzeltmesini yansıtıyor
Version 1.44.4
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfVT, ISO 16612-2 §6.5 kapsamındaki hatalı DPart ağaçlarını artık reddeder: örneğin/DPartsgerekli array of arrays yerine düz bir başvuru dizisi olduğunda veya bir leaf DPart yalnızca tek sayfalık aralıkta/Startsayfasını/Endolarak tekrarladığında.ValidatePdfVT,/NodeNameListadlarını PDF name içindeki#xxescape açılımından sonra XML NMTOKEN değerleri olarak doğruluyor; böylece geçersiz hiyerarşi düzeyi adları kullanılabilir DPart yapısı olarak kabul edilmek yerinepvviMissingDPartRootüzerinden raporlanıyor
Version 1.44.3
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfUafont gömme denetimi (pvuaiFontNotEmbedded, ISO 14289-1, 7.21.4) artık/FontDescriptoriçermeyen gömülü olmayan basit fontları da tespit eder; bunların en önemlisi PDF/UA'nın gömme muafiyeti tanımadığı 14 standart Type 1 fontudur (Helvetica, Times, Courier ve diğerleri). Daha önce böyle bir font fark edilmeden geçiyor ve onu kullanan bir belge uyumlu olarak raporlanabiliyordu; denetim artık basit font sözlüklerini (/Type1,/TrueType,/MMType1) da gömülü font programlarına karşı sayar.
Version 1.44.2
Düzeltildi (Düzeltildi (Fixed))
ValidatePdfVT, mevcut ancak tanınmayan birpdfvtid:GTS_PDFVTVersionişaretini artıkpvcUnknownolarak bırakıyor;pvcNonedeğerine düşürmüyor. BöylecePDF/VT-2sgibi geçersiz dosya düzeyi dizgeleri, hiç PDF/VT işareti taşımayan belgelerden ayırt edilebilir; PDF/VT-2s, PDF dosyasının XMP işaretiyle değil ISO 16612-2 Annex A içindeki MIME stream header ile tanımlanır/DPartRootdenetimi artık ISO 16612-2 §6.5 kapsamındaki tree semantics kurallarını daha sıkı doğrular:/DPartRootNodeve/NodeNameListgerçek DPart derinliğini tanımlamalı, DPart parent links bir ağaç oluşturmalı,/Startve/DPartsbirbirini dışlamalı ve her sayfanın/DPartgirdisi, page tree ile aynı depth-first sırada o sayfayı kapsayan leaf DPart'a işaret etmelidir.
Version 1.44.1
Düzeltildi (Düzeltildi (Fixed))
SaveAsPdfVT, kaynak PDF kullanılabilir bir/DPartRootiçermediğinde artık ISO 16612-2 §6.5 için en küçük Document Part Hierarchy yapısını yazar. Oluşturulan ağaç her sayfayı/DPartüzerinden bağlar, mevcut geçerli hiyerarşiyi korur ve daha zengin alıcı/DPM metadata bilgisini çağıran iş akışına bırakır.ValidatePdfVTartık kullanılabilir DPart yapısını doğrular, PDF/VT XMP değerlerini hem RDF özniteliklerinden hem de öğe metninden okur ve PDF/VT ile PDF/X tabanı arasındaki tam eşleşmeyi zorunlu kılar: PDF/VT-1 için PDF/X-4 gerekirken PDF/VT-2 için PDF/X-4p, PDF/X-5g veya PDF/X-5pg gerekir.TPdfVTSaveOptions.Conformance = pvc2artık geçersiz tek dosyalı PDF/VT-2 işaretleri yazmaz. Tek dosyalı writer, PDF/VT-2 dosya kümesi semantiği gerektirdiği için çıktıyı PDF/VT-1 olarak normalleştirir.
Version 1.44.0
Eklendi (Eklendi (Added))
ValidatePdfUaartık dosya biçimi işaretleyicilerine ek olarak bayt düzeyinde denetlenebilir içerik düzeyi PDF/UA ihlallerini de raporlar: gömülü olmayan bir font programı (ISO 14289-1, 7.21.4), muaf basit font kodlaması bulunmadığında/ToUnicodeCMap eksik olan bir font (7.21.7) ve açıklama içeren ancak hiçbir sayfa için/Tabs /Ssekme sırası tanımlanmamış bir belge (7.18.3).- Üç yeni
TPdfUaValidationIssuedeğeri —pvuaiFontNotEmbedded,pvuaiFontMissingToUnicodevepvuaiMissingTabsOrder—ValidatePdfUatarafından ve ön kontrol raporunda ortaya çıkarılır. Bu değerler, tam ISO 14289-1 doğrulaması yerine ön kontrol ipucu olarak tasarlanmış kaba sezgisel yöntemlerdir.
Version 1.43.1
Düzeltildi (Düzeltildi (Fixed))
SaveAsPdfUaartık ISO 14289-1, 7.1 tarafından zorunlu kılınan/ViewerPreferences/DisplayDocTitle trueve/MarkInfo/Marked true/Suspects falsekatalog girdilerini, kaynak belge bu sözlükleri eksik ya da çelişkili değerlerle zaten sağlıyor olsa bile uygular. Önceden bu işaretleyiciler yalnızca sözlükler tamamen yoksa ekleniyordu; bu nedenle örneğin/ViewerPreferencesiçindeDisplayDocTitlebulunmayan veya/MarkInfoiçinde/Marked falsetaşıyan bir kaynak, uyumsuz bir dosyaya round-trip ediyordu- Var olan bir
/ViewerPreferencesya da/MarkInfosözlüğündeki mevcut anahtarlar korunur; dolaylı başvuru olarak sağlanan bir sözlük, zorunlu anahtarlar uygulanmadan önce çözümlenir.
Version 1.43.0
Eklendi (Eklendi (Added))
- Artık
ValidatePdfA, gömülü ve ilişkili dosyalar ile Level U metni için PDF/A-2 / PDF/A-3 kurallarını uygular. Gömülü dosyalar PDF/A-1 için hâlâ reddedilir; PDF/A-3 için, gereken/AFRelationshipanahtarından (ISO 19005-3 Ek E) yoksun bir gömülü dosya işaretlenirken PDF/A-2 ekleri izinlidir (kendi uyumlulukları özyinelemeli olarak doğrulanmaz). Yeni birpvaiUnicodeMappingMissingsorunu, fontları/ToUnicodeeşlemesi taşımayan bir PDF/A-2u veya PDF/A-3u belgesini raporlar (ISO 19005-2 6.2.11.7). Saydamlık ve isteğe bağlı içerik yalnızca PDF/A-1 için işaretlenmeye devam eder.
Version 1.42.0
Eklendi (Eklendi (Added))
- PDF/A-2 (ISO 19005-2) ve PDF/A-3 (ISO 19005-3) artık üç uyumluluk düzeyinin tümünde — a, b ve u —
SaveAsPdfA,ValidatePdfAvePdfAConformanceözelliği üzerinden destekleniyor.TPdfAConformancenumaralandırmasıpac2a,pac2u,pac3avepac3udeğerlerini kazanıyor (PDF/A-1 için Level u yok). Kaydetme işlemi eşleşenpdfaid:part(2 veya 3) ilepdfaid:conformance(A, B veya U) değerlerini yazıyor ve ISO 19005-2'nin uyumluluk için koruduğuGTS_PDFA1OutputIntent alt türünü muhafaza ediyor. Belge o düzeyin gerektirdiği etiketli yapıya sahip değilse, Level A isteği yine de eşleşen Level B düzeyine düşürülüyor
Version 1.41.0
Eklendi (Eklendi (Added))
- Artık
ValidatePdfA, daha önce raporladığı yapısal işaretlere ek olarak, işaret enjeksiyonunun onaramayacağı içerik düzeyindeki PDF/A ihlallerini de algılıyor: JavaScript ve diğer yasak eylemler, additional-actions (/AA), gömülü dosyalar,LZWDecode, saydamlık (soft masks ve transparency groups), isteğe bağlı içerik (/OCProperties), yasak ek açıklama alt türleri (FileAttachment, Sound, Movie, 3D, Screen), AcroForm/NeedAppearances trueve/XFA, tanımlayıcılarında gömülü bir font programı bulunmayan fontlar ve ISO 19005-1 6.8 tarafından gereken etiketli yapı olmadan yapılan bir Level A beyanı. Saydamlık, isteğe bağlı içerik ve gömülü dosya denetimleri yalnızca PDF/A-1 için geçerlidir (bu özelliklere PDF/A-2 ve PDF/A-3'te izin verilir). YeniTPdfAValidationIssuedeğerleri her durumu ortaya koyar; mevcut değerler değişmemiştir.
Version 1.40.3
Düzeltildi (Düzeltildi (Fixed))
- Artık
SaveAsPdfA, PDF/A çıktısı üretmeden önce kaynak belgedeki tüm şifrelemeyi kaldırıyor. ISO 19005-1 6.1.3, trailer'daki/Encryptanahtarını yasaklar; ancak kaydetme yolu daha önce kaynağın güvenlik işleyicisini koruyordu, bu nedenle şifrelenmiş bir belgeyi PDF/A olarak kaydetmek şifrelenmiş, uyumsuz bir dosya üretiyordu. PDF/A kaydetme işlemi artık belgeyi önce şifresini çözüyor. Şifrelenmemiş belgeler bundan etkilenmez.
Version 1.40.2
Düzeltildi (Düzeltildi (Fixed))
SaveAsPdfAartık yanlış bir PDF/A Level A uygunluk iddiası üretmiyor. Level A (pac1a) istendiğinde ama kaynak belgede ISO 19005-1 6.8'in gerektirdiği etiketli yapı işaretleri — katalogdaki bir/StructTreeRootve/MarkInfosözlüğü içinde/Marked true— yoksa, kaydedilen dosya Level A diye işaretlenmek yerine artık eşleşen Level B olarak tanımlanıyor (pdfaid:conformance=B). Salt görsel PDF/A-1b çıktısı bundan etkilenmiyor
Version 1.40.1
Düzeltildi (Düzeltildi (Fixed))
- PDF sürüm uyumluluğu doğrulaması sıkılaştırıldı; böylece
SetOCGState(set-optional-content-group-state) eylemi bir PDF 1.5 özelliği olarak tanınıyor.SetOCGStateeylemi içeren bir belgeyi PDF 1.2, 1.3 veya 1.4 hedefine kaydetmek artık ISO 32000-1 (Table 198) ile uyum sağlamak için reddediliyor; daha önce böyle bir eylem düşük sürümlü çıktıya geçebiliyordu. Ayrı ve artık kullanılmayan PDF 1.2SetStateeylemi PDF 1.2'den itibaren hâlâ kabul ediliyor.
Version 1.40.0
Eklendi (Eklendi (Added))
- Üst akış
FPDFPageObj_AddExistingMark()API'si bağlandı; bu API, mevcut bir içerik işaretini bir sayfa nesnesine ekler. Ardışık sayfa nesneleri aynı işareti paylaştığında, kaydedilen PDF bunları hepsini kapsayan tek bir işarette birleştirir; ardışık olmayan nesneler ayrı kopyalar alır. - Mevcut bir metin nesnesinin punto boyutunu değiştirmek için üst akış
FPDFTextObj_SetFontSize()API'si bağlandı; bu, hâlihazırda var olanFPDFTextObj_GetFontSize()bağlamasını tamamlar.
Değiştirildi (Değiştirildi (Changed))
- Birlikte gelen PDFium çalışma zamanı DLL'leri (Win32 ve Win64, standart ve V8 yapıları) 2026-06-02 üst akış anlık görüntüsüne güncellendi.
Version 1.39.53
Değiştirildi (Değiştirildi (Changed))
- Delphi
PDFViewer,SplitViewveMultiPageViewerörnekleri artık belgeleri varsayılan olarakZoom to Pagemodunda açar. - İlk işleme artık kullanıcı elle yakınlaştırma düzeyi seçmeden önce tüm sayfayı görüntüleyici alanına sığdırır.
TPdf.AboutInfo, Lazarus paket meta verileri ve kurulum sürümü meta verileri 1.39.53 bildirecek şekilde güncellendi.
Version 1.39.52
Değiştirildi (Değiştirildi (Changed))
Demo\Lazarus\CreatePDFgeliştirildi; başlangıç örneği artık vector paths, table content, embedded image, text annotation, rotated text ve daha anlaşılır bir document-building walkthrough içeren iki sayfalı bir PDF oluşturuyor.- Tüm Delphi, C++Builder ve Lazarus demo klasörleri için daha düzenli
README.htmlsayfaları eklendi; kalan düz metin demo README dosyası tarayıcıda okunabilir bir kılavuzla değiştirildi. TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.52 sürümünü raporluyor
Version 1.39.51
Demo\Delphi\PreflightReportCliiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.51 sürümünü raporluyor
Version 1.39.50
Demo\Delphi\PreflightReportCli,batchdir=folderiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.batch=list.txtiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.50 sürümünü raporluyor
Version 1.39.49
Demo\Delphi\PreflightReportCli,failon=için ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.runiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.49 sürümünü raporluyor
Version 1.39.48
Demo\Delphi\PreflightReportCli,outdir=için ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.-2,-3için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.48 sürümünü raporluyor
Version 1.39.47
Demo\Delphi\PreflightReportCli,failon=için ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.47 sürümünü raporluyor
Version 1.39.46
Demo\Delphi\PreflightReportCli,summary=batch.html,.htmiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.failon=için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.46 sürümünü raporluyor
Version 1.39.45
Demo\Delphi\PreflightReportCli,batchdir=folder,recursiveiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- Dizin toplu modu, liste tabanlı toplu moddaki
outdir=,summary=,standards=vefailon=davranışını yeniden kullanıyor; özyinelemesiz tarama yalnızca seçilen klasörü tarıyor,recursiveise alt klasörleri de dahil ediyor TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.45 sürümünü raporluyor
Version 1.39.44
Demo\Delphi\PreflightReportCli,summary=batch.csv|json|txtiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.failon=için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.44 sürümünü raporluyor
Version 1.39.43
Demo\Delphi\PreflightReportCli,batch=list.txt,outdir=reportsiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.#,.preflight.<ext>için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.43 sürümünü raporluyor
Version 1.39.42
Demo\Delphi\PreflightReportCli,failon=none|issues|action|reviewiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.failon=için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.42 sürümünü raporluyor
Version 1.39.41
Demo\Delphi\PreflightReportCli,attach=output.pdfiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.41 sürümünü raporluyor
Version 1.39.40
Demo\Delphi\PreflightReportCli,FPdfPreflightReport, ilgili örnek veya API desteğiyle birlikte eklendi.- CLI, argümansız örnek oluşturmayı, giriş / çıkış argümanlarını, isteğe bağlı parolayı,
text/html/md/json/csvçıktı biçimlerini ve PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R ve PDF/VT içinstandards=filtrelemesini destekliyor TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.40 sürümünü raporluyor
Version 1.39.39
FPdfPreflightReport,TPdfPreflightReport.ToMarkdown,SaveMarkdownToFileiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.PreflightReportgüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.39 sürümünü raporluyor
Version 1.39.38
SecurityAuditiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- JSON raporu
format,generatedAt,summary,findingCountve severity, area, detail alanlarını taşıyan yapılandırılmışfindingssatırlarını içeriyor TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.38 sürümünü raporluyor
Version 1.39.37
FPdfPreflightReport,TPdfPreflightReport.ToCsv,SaveCsvToFileiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.PreflightReportgüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.37 sürümünü raporluyor
Version 1.39.36
FPdfPreflightReport, kategori bazında marker-level sorunları toplamak içinTPdfPreflightReport.IssueCategoryCountsile yeniden kullanılabilirTPdfPreflightIssueCategoryCountveTPdfPreflightIssueCategoryCountstürleriyle geliştirildiTPdfPreflightReport.ToText,ToHtml,ToJsongüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.36 sürümünü raporluyor
Version 1.39.35
PrintDialog,PrintPreferencesyeniden adlandırıldı ve uyumlu hale getirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.35 sürümünü raporluyor
Version 1.39.34
Demo\Delphi\PrintPDF,Demo\CBuilder\PrintPDFiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.34 sürümünü raporluyor
Version 1.39.33
Demo\CBuilder\SplitView, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.33 sürümünü raporluyor
Version 1.39.32
Demo\Lazarus\SplitView, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.32 sürümünü raporluyor
Version 1.39.31
Demo\Lazarus\PrintPDF, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.31 sürümünü raporluyor
Version 1.39.30
Demo\Lazarus\FontProperties, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.30 sürümünü raporluyor
Version 1.39.29
Demo\CBuilder\FontProperties, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.29 sürümünü raporluyor
Version 1.39.28
Demo\Delphi\ExtractTextPages, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.28 sürümünü raporluyor
Version 1.39.27
Demo\Lazarus\PrintDialog, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.27 sürümünü raporluyor
Version 1.39.26
Demo\CBuilder\PrintDialog, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.26 sürümünü raporluyor
Version 1.39.25
Demo\CBuilder\ViewerInteractionLab, ilgili örnek veya API desteğiyle birlikte eklendi.TPdfViewgüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.25 sürümünü raporluyor
Version 1.39.24
Demo\Lazarus\ViewerInteractionLab, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.24 sürümünü raporluyor
Version 1.39.23
Demo\Lazarus\SearchAndSelect, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.23 sürümünü raporluyor
Version 1.39.22
Demo\CBuilder\ContentExtractionLab,Demo\Lazarus\ContentExtractionLab, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.22 sürümünü raporluyor
Version 1.39.21
Demo\Delphi\PreflightReport,Demo\Lazarus\PreflightReport,Demo\CBuilder\PreflightReportiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.21 sürümünü raporluyor
Version 1.39.20
FPdfPreflightReport,TPdfPreflightReport.ToJson,SaveJsonToFile, ilgili örnek veya API desteğiyle birlikte eklendi.Demo\Delphi\PreflightReport,Demo\Lazarus\PreflightReport,Demo\CBuilder\PreflightReportgüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.20 sürümünü raporluyor
Version 1.39.19
FPdfPreflightReport,TPdfPreflightStatusiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.Demo\Delphi\PreflightReport,Demo\Lazarus\PreflightReport,Demo\CBuilder\PreflightReportgüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.19 sürümünü raporluyor
Version 1.39.18
Demo\Lazarus\SecurityAudit, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.18 sürümünü raporluyor
Version 1.39.17
Demo\CBuilder\SecurityAudit, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.17 sürümünü raporluyor
Version 1.39.16
Demo\CBuilder\SearchAndSelect, ilgili örnek veya API desteğiyle birlikte eklendi.HighlightSearchTextiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.- Ayrıca
AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelection,OnSelectionChangeve yayılmış görünümDisplayModeseçeneklerini de sunuyor; sürüm meta verileri artık 1.39.16'yı raporluyor
Version 1.39.15
Demo\CBuilder\WatermarkStamp, ilgili örnek veya API desteğiyle birlikte eklendi.CreateXObjectFromPage,TPdfMatrixiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.15 sürümünü raporluyor
Version 1.39.14
Demo\Lazarus\WatermarkStamp, ilgili örnek veya API desteğiyle birlikte eklendi.CreateXObjectFromPage,TPdfMatrixiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.14 sürümünü raporluyor
Version 1.39.13
Demo\CBuilder\PreflightReport,FPdfPreflightReport, ilgili örnek veya API desteğiyle birlikte eklendi.FPdfPreflightReport.hppiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.13 sürümünü raporluyor
Version 1.39.12
Demo\Lazarus\PreflightReport, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.12 sürümünü raporluyor
Version 1.39.11
Demo\Delphi\SearchAndSelectiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.HighlightSearchText, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.11 sürümünü raporluyor
Version 1.39.10
Demo\Delphi\SecurityAuditiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.10 sürümünü raporluyor
Version 1.39.9
Demo\Delphi\ContentExtractionLabiçin ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.9 sürümünü raporluyor
Version 1.39.8
Demo\Delphi\ContentExtractionLab, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.8 sürümünü raporluyor
Version 1.39.7
- Yeniden kullanılabilir rapor yardımcısı
Lib\FPdfPreflightReport.paseklendi; bu yardımcıValidatePdfA,ValidatePdfUa,ValidatePdfE,ValidatePdfX,ValidatePdfRveValidatePdfVTçağrılarını tek birTPdfPreflightReportnesnesinde birleştiriyor Demo\Delphi\PreflightReport, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri, paket proje listeleri ve yükleyici sürüm meta verileri artık 1.39.7 sürümünü raporluyor
Version 1.39.6
Demo\Delphi\SearchAndSelect, ilgili örnek veya API desteğiyle birlikte eklendi.- Örnek, yeni bir kütüphane API'si eklemeden
HighlightSearchText, match-case / whole-word arama seçeneklerini,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboardveClearSelectiondavranışlarını gösteriyor TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.6 sürümünü raporluyor
Version 1.39.5
Demo\Delphi\ViewerInteractionLab,HighlightSearchTextiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.Demo\Delphi\PrintDialog, PDF yazarının yazdırma tercihlerini inceleyecek şekilde genişletildi:PrintCopies,PrintPageRanges,PrintScaling,PrintPaperHandlingve görünürSetPdfPrintPaperHandlingDevModeduplex eşlemesiDemo\Delphi\SecurityAudit, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.5 sürümünü raporluyor
Version 1.39.4
Demo\CBuilder\ImageToPDF,Demo\Lazarus\ImageToPDF, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.4 sürümünü raporluyor
Version 1.39.3
Demo\CBuilder\BatchExport, ilgili örnek veya API desteğiyle birlikte eklendi.LoadCustomDocument,IPdfCancellationTokenSource,TFileStreamiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.3 sürümünü raporluyor
Version 1.39.2
Demo\Delphi\WatermarkStamp, ilgili örnek veya API desteğiyle birlikte eklendi.- Örnek, yeni bir kütüphane API'si eklemeden
CreateXObjectFromPage,InsertFormObjectFromXObject,TPdfMatrixveFPDFPageObj_SetMatrixkullanımını gösteriyor Docs\en-us\Examples.html,TPdfMatrix.Handle,FPDFPageObj_SetMatrixgüncellendi.TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.2 sürümünü raporluyor
Version 1.39.1
Demo\Delphi\ViewerInteractionLab,TPdfView,DeviceToPage, ilgili örnek veya API desteğiyle birlikte eklendi.Demo\CBuilder\StandardsLab,Demo\Lazarus\StandardsLab, ilgili örnek veya API desteğiyle birlikte eklendi.- Standartlar birimleri
Lib\37.0\PDFiumPas.dprojveLib\FPC\PDFiumLaz.lpkiçine listelendi ve DelphiSplitViewdemo derlemesi, yinelenenWinapi.ShellAPIiçe aktarması kaldırılarak düzeltildi - Delphi demo toplu derleme engelleri, çalışma zamanı davranışı değiştirilmeden
BatchExport,PDFViewer,MultiPageViewerveSplitViewiçinde giderildi - C++Builder demo toplu derleme uyumluluğu, geçerli proje modu için
PDFViewerveMultiPageVieweriçindenullptryerineNULLkullanılarak düzeltildi TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.1 sürümünü raporluyor
Version 1.39.0
Demo\Delphi\StandardsLabeklendi; bu çalıştırılabilir standartlar iş akışı örneği bir PDF yükler veya oluşturur,ValidatePdfA,ValidatePdfUa,ValidatePdfE,ValidatePdfX,ValidatePdfRveValidatePdfVTçalıştırır ve algılanan uyumluluğu, geçme/kalma durumunu ve issue sayılarını tek bir ızgarada gösterir- StandardsLab içindeki kaydet düğmeleri
SaveAsPdfA,SaveAsPdfUa,SaveAsPdfE,SaveAsPdfX,SaveAsPdfRveSaveAsPdfVTçağrılarını yapar; böylece özel bir harness yazmadan PDF standards marker çıkışı görünür hale gelir TPdf.AboutInfo, Lazarus paket meta verileri ve yükleyici sürüm meta verileri artık 1.39.0 sürümünü raporluyor
Version 1.38.0
TPdfViewiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.SetPdfPrintPaperHandlingDevMode,TPrintPaperHandlingdeğerlerini WindowsDEVMODE.dmDuplexdeğerlerine eşlemek için eklendi:DMDUP_SIMPLEX,DMDUP_HORIZONTALveDMDUP_VERTICALTPdfView.SmoothScrolliçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfove yükleyici sürüm meta verileri artık 1.38.0 sürümünü raporluyor
Version 1.37.0
TPdfartık örnek başına bir render kilidine sahip ve bu kilitRenderPage,RenderTile,RenderPageProgressive, sayfa yeniden yükleme ve belge boşaltma yollarını serileştiriyor. Paylaşılan bir bileşen üzerinden worker güdümlü render artık uygulanabilir; uygulamalar ise belge mutasyonu ve yaşam süresini yine kendileri koordine ederTBitmapdüzeltildi.TPdfView,AllowUserTextSelection,SelectAlliçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdf.AboutInfove yükleyici sürüm meta verileri artık 1.37.0 sürümünü raporluyor
Version 1.36.0
TPdfView,AllowUserTextSelectioniçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.Ctrl+A,Ctrl+C,CF_UNICODETEXTiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.Shift+Left/Shift+Rightseçimi her seferinde bir karakter genişletir;Shift+Home/Shift+Endise tohum karakterin kutu yüksekliğini satır kümesi toleransı olarak kullanıp görsel satır kenarına kadar genişletir, böylece karışık yazı boyutlu satırlar doğru kümelenircrIBeamiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.dmTwoPageContinuous,dmTwoPageContinuousWithCover,SelectedTextiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.SelectionColor,clHighlight,HighlightColoriçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.OnSelectionChangeiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.TPdfViewüzerinde yeni public API:HasSelection,SelectionCharCount,SelectedText,ClearSelection,SelectAll,CopySelectionToClipboard. Bunlar kod düzeyindeki giriş noktalarıdır veAllowUserTextSelectiondurumundan bağımsız olarak her zaman çalışır- Host kendi menüsünü atamamışsa varsayılan sağ tıklama
Copy/复制PopupMenu'sü otomatik eklenir; başlık İngilizce ve Çince arasındaSysLocale.PriLangIDile seçilir; kendi menüsünü gereken host'lar yalnızca kendiPopupMenu'lerini atar ve varsayılan menü bastırılır - Seçim,
SetPdf,SetPageNumber,SetActive(False)veDisplayModegeçişlerinde otomatik temizlenir; önceki seçim boş değilseOnSelectionChangetam bir kez tetiklenir. Form-fill alt sistemi önceliğini korur; alan düzenlenirken tüm seçim kısayolları kendi seçimi içinCtrl+C/Ctrl+A/Shift+arrowsolaylarını alana bırakır - bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.35.0
- PDF/VT (ISO 16612-2:2010) marker injection desteği eklendi: TPdf.SaveAsPdfVT mevcut belgeyi PDF/VT-1 veya PDF/VT-2 uyumlu dosyaya yükseltir. PDF/VT, PDF/X-4 üzerine kurulduğu için enjektör, PDF/VT'ye özgü özelliklerin yanında tam PDF/X-4 marker kümesini de yazar (XMP
pdfxid:GTS_PDFXVersion = "PDF/X-4", Info/GTS_PDFXVersion (PDF/X-4)ve/Trapped, ayrıca gömülü ICC profile içeren bir OutputIntent dictionary'sine başvuran katalog/OutputIntents) - PDF/VT'ye özgü ekleme; XMP
pdfvtid:GTS_PDFVTVersion(= "PDF/VT-1" veya "PDF/VT-2") vepdfvtid:GTS_PDFVTModDateöğelerini kapsar; bu alanxmp:ModifyDateile senkron tutulur. Buna ek olarak hem pdfxid hem pdfvtid ad alanlarını bildiren bir pdfaExtension:schemas açıklaması da yazılır (NPES URI'lerihttp://www.npes.org/pdfx/ns/id/vehttp://www.npes.org/pdfvt/ns/id/). Trailer bir/IDdizisi taşır TPdf.SaveAsPdfVT(FileName),/Trapped /False, ilgili örnek veya API desteğiyle birlikte eklendi.- TPdf.ValidatePdfVT eklendi: açık bir PDF'yi PDF/VT uyumluluk marker'ları açısından denetler (
pdfvtid:GTS_PDFVTVersionveGTS_PDFVTModDatevarlığı,pdfvtid:GTS_PDFVTModDateilexmp:ModifyDateeşitliği, temelpdfxid:GTS_PDFXVersiontanımlayıcısının varlığı, katalogda/DPartRootvarlığı,/OutputIntentsile/DestOutputProfile, şifreleme durumu vexmp:CreateDate/ModifyDatevarlığı) ve bulunan sorunlarla birlikte saptanan uyumluluk düzeyini döndürür - bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- Document Part Hierarchy (
DPartRoot/DPartağacı) uygulama düzeyinde bir yapıdır. SaveAsPdfVT bir DPart ağacı sentezlemez; ValidatePdfVT eksik/DPartRootdurumunupvviMissingDPartRootolarak yüzeye çıkarır - bu PDFiumPas işlevi güncellendi.
Version 1.34.0
%PDF-raster-1.0, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.SaveAsPdfR(FileName), ilgili örnek veya API desteğiyle birlikte eklendi.%PDF-raster-x.y, ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
TPdfRSaveOptions.Defaultiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.[0 0 w h]için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.- bu PDFiumPas işlevi güncellendi.
Version 1.33.0
- PDF/X (ISO 15930 ailesi) marker injection desteği eklendi: TPdf.SaveAsPdfX mevcut belgeyi incremental update ile PDF/X uyumlu dosyaya yükseltir. Ekleme;
pdfxid:GTS_PDFXVersionve PDF/X-1a / PDF/X-3 içinpdfxid:GTS_PDFXConformancetaşıyan XMP metadata akışını,/GTS_PDFXVersion,/GTS_PDFXConformanceve/Trappedgirdilerini içeren yeniden yazılmış bir Document Information Dictionary'yi,/OutputIntents [N 0 R]üzerinden/S /GTS_PDFXve gömülü ICC profile taşıyan OutputIntent dictionary'sini ve trailer/IDdizisini kapsar TPdf.SaveAsPdfX(FileName), ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
TPdfXSaveOptions.Defaultvarsayılan olarak sRGB OutputIntent ve/Trapped /Falseile PDF/X-4'ü hedefler; çağıranlarConformancedeğerini geçersiz kılabilir, ticari baskı iş akışları içinIccProfileDatasağlayabilir veyaOutputCondition/OutputConditionIdentifier/RegistryNamedeğerlerini belirli bir ICC characterization registry girdisine yönlendirebilir- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi güncellendi.
Version 1.32.0
pdfe:ISO_PDFEVersion = "PDF/E-1",/ISO_PDFEVersion (PDF/E-1),/ID, ilgili örnek veya API desteğiyle birlikte eklendi.TPdf.SaveAsPdfE(FileName), ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi güncellendi.
Version 1.31.0
- PDF/UA-1 (ISO 14289-1:2014) marker injection desteği eklendi: TPdf.SaveAsPdfUa mevcut belgeyi incremental update ile PDF/UA-1 uyumlu dosyaya yükseltir. Ekleme;
pdfuaid:part = 1taşıyan XMP metadata akışını, zorunludc:titledeğerini, katalogdaki/MarkInfo << /Marked true /Suspects false >>ile/ViewerPreferences << /DisplayDocTitle true >>girdilerini, sağlanmışsa katalog/Langdeğerini ve trailer/IDdizisini kapsar TPdf.SaveAsPdfUa(FileName), ilgili örnek veya API desteğiyle birlikte eklendi.- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
pvuaiMissingStructTreeRootiçin ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.- bu PDFiumPas işlevi güncellendi.
Version 1.30.0
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi güncellendi.
Version 1.29.0
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi güncellendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.28.0
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.27.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi güncellendi.
Version 1.26.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.25.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.24.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.23.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.22.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.21.0
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.20.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.19.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.18.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.17.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.16.2
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.16.1
- bu PDFiumPas işlevi düzeltildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.16.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.15.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.14.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.13.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.12.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.11.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.10.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.9.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.8.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.7.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.10
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.9
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.8
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.7
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.6
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.5
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.4
- bu PDFiumPas işlevi güncellendi.
Version 1.6.3
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.2
- bu PDFiumPas işlevi düzeltildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.1
- bu PDFiumPas işlevi düzeltildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.6.0
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.13
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.12
- bu PDFiumPas işlevi düzeltildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.11
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.5.10
new TForm(NULL, 0)için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.9
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.8
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.7
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.5.6
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.5.5
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.5.4
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.5.3
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.5.2
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi güncellendi.
Version 1.5.1
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi güncellendi.
Version 1.5.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.4.3
- bu PDFiumPas işlevi için ilgili iş akışı ve dokümantasyonla birlikte işlevsellik geliştirildi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.4.2
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.4.1
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.4.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi düzeltildi.
Version 1.3.1
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi düzeltildi.
Version 1.3.0
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.2.0
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.1.2
- bu PDFiumPas işlevi, ilgili örnek veya API desteğiyle birlikte eklendi.
Version 1.1.1
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.
Version 1.1.0
- bu PDFiumPas işlevi düzeltildi.
- bu PDFiumPas işlevi için ilgili iş akışı daha öngörülebilir sonuçlar için iyileştirildi.