PDF Library for Delphi 自動字型後援:CJK 與 Emoji 缺字
透過 PDF Library for Delphi 自動字型後援、叢集感知文字塑形與 JSON 缺字報告,解決 Delphi 產生 PDF 中的 CJK、符號與 Emoji 缺字問題
losLab 軟體開發部落格
Software Development Blog
透過 PDF Library for Delphi 自動字型後援、叢集感知文字塑形與 JSON 缺字報告,解決 Delphi 產生 PDF 中的 CJK、符號與 Emoji 缺字問題
PDF Library for Delphi 在繪製文件的同時,自動為文字、標題、圖片與表格加上結構標記,讓 Delphi 開發者不必再把每個繪圖呼叫手動包進 BeginTag,即可產出可存取的 PDF 輸出
PDF Library for Delphi 可在 PDF 中內嵌 AVIF、HEIF 與 JPEG XL 影像,保留點陣圖轉換會流失的 alpha、ICC 描述檔與 16 位元色版
向量條碼在任何尺寸下都能清晰列印。了解 PDF Library for Delphi 如何在 Delphi 中繪製具備錯誤修正與尺寸設定的 QR、PDF417、DataMatrix 與 Code128 條碼符號
PDFlibPas 如何強化內建 Delphi TIFF 解碼器:具名拒絕 BigTIFF magic 43、於標籤解析階段拒收 tiled TIFF,並以 256 MiB 作為解碼上限
用 PDF Library for Delphi 在 Delphi 把 Web Capture 命令中繼資料寫入文件目錄的 /SpiderInfo 字典:間接命令字典、URL、抓取層級與旗標白名單
PDF Library for Delphi 透過 Windows CDO 從 Delphi 寄送 PDF 郵件,正確設定 CoInitializeEx 的 apartment 執行緒模式,是避免多執行緒批次寄送失敗的重要關鍵
送紙式掃描器吐出的正面與反向背面 PDF,用 PDF Library for Delphi 的 CollateDocumentsEx 一次拼成閱讀順序:整批匯入後再重排頁樹,避免逐頁合併把共用字型與 ICC 描述檔重複嵌入
利用 PDF Library for Delphi 在 Delphi 中將 PDF/A 預檢、PAdES 數位簽章與 ByteRange 稽核整合進單一工作台,確保通過驗證的修訂版本正是實際被簽署的那一份文件
使用 PDF Library for Delphi 在 Delphi 中重播 PDF 內容串流:追蹤每個繪圖運算子執行時的 CTM 座標轉換矩陣、文字矩陣、裁剪範圍變化,以及 q/Q 圖形狀態堆疊的推入與還原過程
ConvertToPDFA 在 Delphi 中修復文件並聲明所屬的 PDF/A 部分,唯有內部檢查通過才回報符合,RepairDocumentMetadata 讓 Info 字典與 XMP 封包保持一致,整個封存轉換流程不需外部工具或人工判讀 只靠一次呼叫就把一份普通文件變成封存文件:它移除所選部分禁止的東西、加入該
PDFlibPas 的 CopyForeignObject 如何在 Delphi 中跨檔案深層複製一個 PDF 物件閉包,以及為什麼循環的 Parent 反向參照會一直當機,直到加入進行中守衛
使用 losLab PDF Library 在 Delphi 中將任何 TDataSet、FastReport、QuickReport 或 ReportBuilder 報表匯出為 PDF,支援分頁表格 and 無介面(headless)輸出 若要在 Delphi 中將 TDataSet 或報表匯出為
用決定性 trailer ID 讓 Delphi PDF 輸出逐位元組相同:種子如何推導、為何加密檔案保留自己的 ID、還有其他該釘死的項目 losLab PDF Library 只要呼叫 ,就能對相同輸入產生逐位元組相同的 PDF 輸出。預設情況下 trailer 的 陣列是掛鐘時間的 MD5
了解 PDF Library for Delphi 如何將同一個扁平化 PDF API 分別公開為 Stdcall DLL、Safecall ActiveX 物件與 Cdecl dylib,以及每種綁定隱藏的字串與控制代碼陷阱
PDF Library for Delphi 在 Delphi 中將 WillClose、WillPrint 等文件動作附加至 Catalog /AA,頁面動作附加至 Page /AA,並說明 PDF/A 規範下的限制
了解 PDFlibPas 如何在不依賴外部加密程式庫的前提下,以純 Object Pascal 實作 RFC 8032 Ed448 與 RFC 5639 三條 Brainpool 曲線,並整理實作過程中找出六個錯誤根因的除錯歷程與實用教訓
符合 PDF/A 標準不代表符合電子發票標準。了解 PDF Library for Delphi 產生的電子發票如何在 Delphi 中同時通過 veraPDF 容器格式檢查與 Mustang 業務規則的雙重驗證
在 Delphi 中修復 PDF/A 預檢錯誤 00030:losLab PDF Library 的 EmbedMissingFonts 可將字型程式附加到現有 PDF,無需重建字型字典
了解 6500 行的 EMF 轉 PDF 轉換器為何只需改動一個條件編譯而非整個重寫,以及 ULONG_PTR hatch 欄位如何在 Win64 上讓中繼檔記錄從錯誤偏移讀取、無聲畫出錯誤的圖像
PDF Library for Delphi 在 Delphi 中重試使用者輸入錯誤的 PDF 密碼時,每次嘗試都會重新建立全新的 TPDFDocument 物件而非就地重設,並在連續十六次嘗試失敗後自動停止重試
像稽核員一樣讀取 PDF /Encrypt 字典:說明 PDF Library for Delphi 中演算法、金鑰長度、AES-256 R5 與 R6 差異、權限位元,以及 Identity 篩選器陷阱的呼叫方式
電子發票本質上是一份內嵌發票 XML 資料的 PDF/A-3 檔案。了解 PDF Library for Delphi 如何在 Delphi 中跨越不同設定檔建立 Factur-X 與 ZUGFeRD 混合式發票
了解 PDF Library for Delphi 如何在 Delphi 中快速合併多份 PDF 檔案:直接重複使用來源位元組內容、逐一物件位移間接參照,並跳過剖析與重新序列化的來回轉換過程,大幅提升合併速度
使用 losLab PDF Library 在 Delphi 中於 AcroForm 與商務系統之間交換表單資料:FDF 與 XFDF 值、階層式欄位、Rich Text 以及 XFA XDP
了解 losLab PDF Library 的 AuditDocumentSpace 如何在 Delphi 中把 PDF 檔案大小拆解成 12 種物件分類,讓你在壓縮前先量測膨脹來源
PDF Library for Delphi 的 EnumPageContentStatesEx 會在 Delphi 中遞迴處理 PDF Form XObject,依呼叫鏈偵測循環,並正確限定重複資源名稱的作用範圍
Free Pascal 在 Win32 上需要 COFF 物件檔,PDFlibPas 為此維護獨立的 FPC 物件集,轉換後再正規化區段名稱與區段定義符號,並改以 Clang 重建依賴 Delphi 64 位元輔助常式的 OpenJPEG 物件
PDF 檔案其實可以攜帶地圖的座標系統資訊。了解 PDF Library for Delphi 如何在 Delphi 中讀取 GeoPDF 視埠設定、測量字典內容,以及 WKT 或 EPSG 兩種地理座標參考框架
在 Delphi 中使用 PDF Library for Delphi 建立 GoToR、GoToE 與 Launch 三種動作:遠端頁面跳轉、嵌入式 PDF 目標定位、外部程式啟動,以及容易忽略的零起始頁碼陷阱
PDF Library for Delphi 可在 PDF 頁面內排版含 display flex 與 grid 的 HTML,並讓註腳跨欄與跨頁分頁時保持連續編號
在 Delphi 中使用 PDF Library for Delphi 的 DrawTextFlowColumns 與 SetTextFlowHyphenation,讓 PDF 文字流入平衡欄位並套用語言感知斷字
使用 losLab PDF Library 的 AppendToStream 在 Delphi 中寫入 ISO 32000-1 增量更新:保留數位簽章,並省略大型 PDF 的完整重寫作業
PDF Library for Delphi 的 TPDFlibViewer 透過 OnExit 提交就地表單欄位編輯,必須先將 FInplaceEditor 設為 nil,否則焦點移失會重新進入提交流程並損壞資料
PDF 表單動作能把靜態頁面變成應用程式。了解 PDF Library for Delphi 如何在 Delphi 中將 Hide、ImportData、Named 與 JavaScript 動作連接到欄位與連結
在 Delphi VCL 中使用 TPDFlibViewer 建置一套完整的互動式 PDF 檢視器:五種滑鼠操作工具、現成可用的動作元件、搜尋結果醒目提示、註解點擊互動,以及完整列印功能
PDFlibPas 同時提供原生 Pascal JBIG2 編碼器與可選的外部編碼器,而把外部後端帶到 Free Pascal 需要 DLL 而不是目標檔,文中完整記錄連結器層面的取捨過程
PDFlibPas 將 jbig2enc 後端靜態連結進 Free Pascal 可執行檔,解析 ObjConv 如何清除 pick-any COMDAT 與 FPC 內部錯誤 200603061
以 PDF Library for Delphi 的直接存取層在毫秒內開啟 GB 級 PDF:頁面控制代碼、串流合併清單、頁碼範圍擷取與 xref 修復
LZW 編碼器的字典永遠比解碼器領先一筆條目,因此兩側無法共用同一個碼寬門檻,直到最後一個資料碼才收斂,PDFlibPas 用同一個 EarlyChange 旗標分別推導出兩套門檻,把這個不對稱做對
說明為何刪除 PDF 頁面之後,檔案的實際大小依然不會跟著縮小,以及 Delphi 中的標記清除垃圾回收機制如何透過 trailer 根物件集合,找出並捨棄不再被任何頁面參照的孤立物件
PDFlibPas 透過單一滑動唯讀視窗讀取 GB 級 PDF,讓 LoadFromMappedFile 以絕對偏移提供 Delphi 物件切片,無需頻繁 Seek 或額外緩衝區
合併 AcroForm 時同名欄位會互相污染。PDF Library for Delphi 的 MergeDocumentEx 先比對欄位名稱再搬動物件,以 dfsReject、dfsMerge 或 dfsAutoNumber 決定拒絕、共用或重新命名
PDFlibPas 以純 Object Pascal 為 Delphi 與 FPC 實作 FIPS 204 ML-DSA 44、65 與 87,本文涵蓋共用引擎與那些讓 KAT 對不上的取樣臭蟲
PDFlibPas 會將簽章後的文件與較早版本逐物件比對,把每個差異歸入白名單或未分類,讓 DocMDP 政策的執行化約成單一次層級比較,並說明指紋比對引擎、誤拒優先與自我比較陷阱的設計取捨
在 Delphi 中使用 PDF Library for Delphi 將 PDF 頁面渲染為 1 位元單色點陣圖,同時可裁剪指定的子區域範圍,整個過程透過 GDI 半色調向下轉換完成,完全無需觸碰渲染器核心邏輯
在 PDF Library for Delphi 中逐檔切換內建、Cairo 與 PDFium 算繪引擎:引擎探測、DPI 縮放陷阱,以及會自我記錄的後備鏈
說明 losLab PDF Library 如何在 Delphi 中寫出 PDF 1.5 物件串流與 xref 串流:ObjStm 版面配置、type-2 條目、W 欄位寬度與加密規則
PDF 圖層機制可驅動地圖套疊顯示、CAD 工程圖版本管理與多語言內容切換等應用場景。了解 PDF Library for Delphi 如何在 Delphi 中建立並讀取選用內容群組(OCG)及其顯示設定
多數 Delphi PDF 函式庫寫得出書籤與註解動作,卻讀不回來。PDF Library for Delphi 以 GetOutlineActionInfo 與 GetAnnotActionInfo 型別化讀回 GoTo、URI、Launch 與 JavaScript 動作及目的地幾何
以 PDF Library for Delphi 產生 PAdES B-B、B-T 與 B-LT 簽章:時間戳記空間預留、DSS 組裝,以及信任檔案前的 ByteRange 稽核
PDFlibPas 透過 ISO 32000-2 14.13 的 /AF 陣列把內嵌檔案綁到單一頁面,酬載本身仍登記在文件的 EmbeddedFiles 名稱樹,清除頁面關聯也不會動到資料
在 Delphi 中使用 losLab PDF 函式庫的 Form XObject 擷取與可組合的浮水印範本,以向量保真度並排拼貼或重疊 PDF 頁面 頁面拼貼是在共享的畫布上組合現有頁面的 內容 ,這與合併檔案是不同的操作。losLab PDF 函式庫為 Delphi 實作了 Form XObject
使用 losLab PDF Library 在 Delphi 中平行渲染 PDF 頁面:為何每個工作執行緒都需要獨立的 TPDFlib 執行個體、GDI+ 的 CoInitialize 設定,以及安全的日誌記錄方式
使用 losLab PDF 函式庫在 Delphi 中縮減 PDF 檔案大小:將嵌入字型子集化 (subset)、將過大的圖片降取樣 (downsample),並在單一通道中將舊版的 LZW 串流轉換為 Flate。 為了在 Delphi 中縮減 PDF 檔案大小,losLab PDF
使用 PDF Library for Delphi 在 Delphi 中將 PDF 頁面匯出為語意化 Markdown 或可編輯 DOCX:推斷標題、清單、表格與串流寫入,全程不需 Office
以 PDF Library for Delphi 在 Delphi 中執行 PDF/A 與 PDF/UA 預檢:結構化檢出項、可比對的報告、存檔時的修正,以及 veraPDF 交叉核對
容器檢查全過,veraPDF 仍判定 Factur-X 發票不是有效的 PDF/A-3:問題出在 fx 自訂 XMP 屬性未經宣告。本文說明 PDF Library for Delphi 如何補上 PDF/A-3 延伸結構描述
PDF/E-1 有自己的 XMP 命名空間、要求完整的生命週期詮釋資料,並封掉 BX 相容段落這條逃生口,PDFlibPas 以作者模式加有界 preflight 逐運算子檢查內容,在存檔關卡擋下不符項
PDFlibPas 如何在 Delphi 中稽核 PDF/UA 字型層:經由 cmap 與 CIDToGIDMap 解析字圖寬度、保守的 CharSet 與 CIDSet 規則,以及內容串流掃描
PDFlibPas 以 StructTreeRoot 分支建置 PDF/VCR-1 替換範本,儲存閘門與 manifest 因而遍歷每個頂層分支,避免只定位到第一個範本根就放行壞檔
PDF Library for Delphi 可合併僅編碼方式不同、視覺上相同的 PDF 圖片,採用感知雜湊搭配三項誤差門檻,並支援試跑模式
與實際列印相符的 Delphi 列印預覽:以 PDF Library for Delphi 做裝置內容算繪、虛擬印表機、縮放與 DevMode 設定保存
深入剖析 PDF Library for Delphi 在 Delphi 中的 PDF 渲染效能瓶頸所在:以雜湊索引取代線性字典掃描、以查找表取代逐像素伽瑪運算,並以字串建構器取代低效的 O(n²) 字串串接
PDFlibPas 如何在 Delphi 中從 HTTP range 伺服器與物件儲存開啟數 GB 級 PDF 而不下載整個檔案:讀取回呼、按區塊對齊的快取、請求合併、可用性探測與迭代式預取排程
PDF Library for Delphi 直接使用十六進位檔案加密金鑰開啟 AES-128 與 AES-256 PDF,按 /U 或 /Perms 驗證金鑰並維持控制代碼唯讀
說明 PDF Library for Delphi 這套 Delphi PDF 函式庫,如何以單次掃描的 token 掃描器重建已受損的 xref 表格內容,過程中自動略過字串、註解與串流內部的所有位元組內容
PDF Library for Delphi 的 RecolorDocument 不必重繪即可把整份 PDF 轉換成灰階、RGB 或 CMYK 色彩空間,同時一致處理色彩運算子、點陣圖、索引色盤與漸層停駐點
使用 PDF Library for Delphi 在 Delphi 中原地替換既有 PDF 檔案內的頁面內容:只搬移與視覺呈現相關的鍵值資料,同時完整保留目標頁面物件本身不變,讓書籤、連結與表單元件都能繼續維持完好無損
非 ASCII 的 AES-256 PDF 密碼若未經 SASLprep 處理,在其他閱讀器中會開啟失敗。了解 PDF Library for Delphi 如何依 ISO 32000-2 與 RFC 4013 準備密碼
簽署冒煙測試不必把 PFX 提交進儲存庫。PLCreateSelfSignedCertificate 只用 Win32 CryptoAPI 產生自我簽署 RSA 憑證並匯出 PFX,本文說明 CryptGenKey 的金鑰長度旗標與 CRYPT_EXPORTABLE 陷阱
PDFlibPas 在單一 Keccak-f[1600] 排列上同時實作 SHA-3 與 SHAKE256,兩者只靠 pad10*1 領域位元組與 rate 規則區分,並附上串流式 XOF 給 Delphi,讓輸出長度不被單次 136 位元組的上限綁住
空的替代實作有三種形狀,拋例外、回空資料與回報成功,其中回報成功的那一種最難發現,本文說明如何透過檢查輸出位元組而非回傳碼來診斷這類無聲失敗,並給出採用替身路徑之前可以照做的完整檢查清單
PDF Library for Delphi 可製作 alpha 與亮度柔邊遮罩、設定圖片 Matte 項目,並把透明度平面化為可供印刷的 PDF 1.3 檔案
以 PDF Library for Delphi 從 Delphi 產生標籤化 PDF:邊繪製邊建結構樹、表格標頭語意、裝飾內容標記,以及存檔前的 PDF/UA 診斷
PDF Library for Delphi 將每個擷取字元映射回產生它的內容串流指令與來源位元組,讓 Delphi 程式碼可以就地編輯單一字形而不重寫整段文字
以 PDF Library for Delphi 從 PDF 擷取帶座標的文字、原始影像串流與字型中繼資料,並附搜尋索引與稽核工作適用的擷取選項
在 Delphi 中使用 PDF Library for Delphi 依指定頁面範圍搜尋 PDF 文字內容:每個命中結果都會傳回其所在頁面編號與邊界矩形座標數值,並可進一步列舉頁面上的每個文字區塊與圖片物件
在 Delphi 中使用 losLab PDF Library 進行真正的 PDF 遮蔽:RedactRegion 刪除內容串流位元組,SanitizeDocument 則清除中介資料、指令碼與動作
PDF Library for Delphi 能比對正規等價的文字,讓 NFC 查詢也能找到 NFD 內容,並讓每個命中結果都落在完整字位叢集的邊界上
PDF 剖析器本身就是一種相當值得留意的潛在攻擊面所在。檢視字型解碼器與影像解碼器中真實存在的整數溢位、越界寫入與無限制遞迴等各類已知安全缺陷,以及對應的完整 Delphi 修正做法
PDF 檔案本質上就是一張完整的 2D 向量繪圖畫布。了解 PDF Library for Delphi 如何在 Delphi 中繪製路徑、貝茲曲線與軸向漸層效果,並比較奇偶填滿與非零填滿這兩種填色規則的差異
PDF Library for Delphi 透過 Type0 字型內建的直排書寫排版模式,在 Delphi 應用程式開發中把日文與中文文字內容由頁面上方往下依序排入,並自動採用字型本身所提供的直排字符形式
使用 losLab PDF Library 的跨工作階段磁碟頁面快取與每監視器 DPI 支援加速 Delphi PDF 檢視器:FNV-1a 指紋、LRU 淘汰與 WM_DPICHANGED
PDF Library for Delphi 可匯入 WOFF2 網頁字型,並把 TrueType 與 CFF2 可變軸實例化為靜態字型,讓內嵌、子集化與擷取都能正常運作
使用 losLab PDF Library 中的 XFA 3.3 SOM 路徑運算式,在 Delphi 中填寫動態 XFA 表單的重複列:涵蓋 $record 根節點、[*] 出現次數與述詞