Ghi chú phát hành PDF Library for Delphi
Lịch sử phát hành
Lịch sử phiên bản cho các tính năng hiển thị với người dùng, bản sửa lỗi, cải tiến PDF, thay đổi tương thích và thay đổi tài liệu của PDF Library for Delphi
Bản phát hành gần nhất
- Phiên bản mới nhất: v3.75.6; Ngày phát hành: 2026-06-23
Version 3.539.22
Đã thêm
- Giải mã JBIG2 gốc hỗ trợ bảng Huffman tùy chỉnh cho từ điển ký hiệu và vùng văn bản, với lỗi rõ ràng cho bảng bị lỗi định dạng và độ dài tiền tố không được hỗ trợ
Đã sửa
- Giải mã tinh chỉnh Huffman tiêu thụ kích thước bitmap đã khai báo và giữ nguyên các pixel ký hiệu byte một phần, ngăn chặn văn bản bị hỏng trong hình ảnh JBIG2 bị ảnh hưởng
Version 3.539.21
Đã sửa
- Giải mã Flate và LZW tôn trọng thẻ thuật toán PNG theo từng hàng cho các predictor từ 10 đến 14 thay vì giải mã mọi hàng bằng thuật toán nêu trong từ điển. Các cross-reference stream hợp lệ nén bằng Predictor 12 tải lại được, các hàng ảnh không còn bị giải mã lệch vị trí, và các hàng có thể đổi thuật toán trong cùng một ảnh
Version 3.539.20
Đã sửa
- Lần chỉnh sửa thông tin tài liệu hoặc định danh tiêu chuẩn đầu tiên giữ lại XMP gốc trước khi khởi tạo đối tượng trình soạn thảo, nên các thuộc tính tác giả, định danh tài liệu và tùy chỉnh hiện có không còn bị ghi đè bằng siêu dữ liệu mặc định; thay đổi thông tin tài liệu cũng được ghi vào XMP trên Free Pascal chạy Windows, còn XML không có wrapper xpacket được lưu nguyên trạng
Version 3.539.19
Đã sửa
- Lưu một đối tượng thập phân chưa bị sửa đổi giữ nguyên độ chính xác lúc được phân tích thay vì làm tròn về độ chính xác đầu ra mặc định, nên các tham số màu đã hiệu chuẩn như gamma và ma trận CalRGB không còn làm lệch màu trang sau một lần lưu thông thường; các số mới tạo hoặc mới sửa vẫn dùng độ chính xác đã cấu hình
Version 3.539.18
Đã sửa
- Cập nhật thông tin tài liệu chỉ thay thế giá trị của trường đích: khi ngày tạo và ngày sửa tham chiếu cùng một chuỗi gián tiếp, làm mới ngày sửa không còn ghi đè ngày tạo
Version 3.539.17
Đã thay đổi
- Phát hiện phiên bản và bước kiểm tra trước khi lưu tránh sao chép chuỗi có quản lý lặp lại khi thu thập quy tắc tính năng, giảm chi phí quét trên tài liệu lớn; phát hiện tính năng, yêu cầu phiên bản và chẩn đoán tính năng không tương thích đầu tiên hoạt động chính xác như trước
Version 3.539.16
Đã sửa
SaveQDFToFilevàConvertFileToQDFkhông còn ghi content stream Flate nén thông thường thành stream rỗng trên Free Pascal và Lazarus; giải nén từ vị trí bắt đầu tường minh áp dụng offset một-based đúng và toàn bộ chiều dài đầu vào
Version 3.539.15
Đã sửa
- Bộ giải mã JBIG2 đọc các segment profile cục bộ và toàn cục một cách an toàn, và lấy bitmap đầu tiên qua số trang tiêu chuẩn 1
- Giải mã bitmap MMR căn chỉnh lại vị trí đọc về ranh giới segment đã khai báo sau pixel cuối cùng, nên EOFB hoặc padding ở đuôi không còn bị nhầm thành header của segment kế tiếp
- Bảng Huffman tùy chỉnh, tổ chức truy cập ngẫu nhiên, độ dài segment không rõ hoặc quá lớn đều thất bại rõ ràng; profile bị cắt cụt và tham chiếu segment không hợp lệ dừng việc giải mã,
TPLJBIG2Decoder.LastErrorbáo lý do, và khi thất bại bitmap cũ bị xóa RepairQDFFilexuất bản qua một tệp tạm được tạo độc quyền trong thư mục đích và chỉ thay thế đích sau khi tệp tạm được ghi, flush và đóng; sửa chữa tại chỗ và đầu ra ghi đè giữ lại tệp cũ khi ghi, flush hay thay thế thất bại và báo kết quả 0 với mã lỗi 305- Việc xuất bản bảo tồn DACL hiện có của đích trước khi ghi tệp tạm và thất bại rõ ràng khi không thể giữ quyền hoặc đích được mã hóa EFS; đầu vào bị khóa độc quyền hoặc không đọc được báo mã lỗi 401 thay vì ném ngoại lệ đọc, và việc xuất bản tệp hỗ trợ đường dẫn Windows dạng Unicode và độ dài mở rộng
Version 3.539.13
Đã sửa
- Sửa chữa tệp QDF không còn bỏ nội dung stream có phần thân chứa marker
endstreamhoặcendobjchiếm nguyên một dòng; bản sửa chọn cặp marker kết thúc hoàn chỉnh cuối cùng trước phần đuôi đối tượng đã biết - Các marker đuôi riêng của đối tượng lặp lại bên trong stream sẽ khiến việc sửa chữa thất bại trước khi stream đích bị xóa, giữ nguyên các byte, độ dài và vị trí ban đầu
RepairQDFFilehoàn toàn sửa chữa trong bộ nhớ và chỉ mở đích để ghi sau khi thành công, nên đầu vào bị từ chối không thể cắt cụt tệp đã mở bằngfmCreate- Chuỗi đặc tả tệp giữ thứ tự
/UFtrước,/Fdự phòng như đã ghi trong tài liệu và không ưu tiên tên cho các khóa/Pathchưa biết
Version 3.539.10
Đã sửa
- Giải mã LZW mở rộng độ rộng mã theo ngưỡng của chính bộ giải mã thay vì dùng chung ngưỡng của bộ mã hóa, nên các stream ở mọi độ rộng mã cũng như việc reset từ điển lặp lại đều giải mã đúng, đã kiểm chứng với Pillow, libtiff và PDFium
- Phân tích chữ ký CMS mang theo ranh giới cha xuyên qua ContentInfo, lớp bọc EXPLICIT, SignedData, các set và trường identity, nên dữ liệu ngoài phạm vi không còn bị dùng để đếm chứng chỉ hay đối chiếu identity, trong khi padding hợp lệ sau đối tượng bên ngoài vẫn được chấp nhận
- Khi cập nhật nhãn trang trên tài liệu mà PageLabels dùng cây số
/Kids, các mục hiện có được chuyển thành nút lá ở gốc thay vì thêm một mục/Numsthứ hai loại trừ lẫn nhau mà trình đọc sẽ bỏ qua - Mẫu MergePDF của Lazarus đọc đầu vào từ tham số dòng lệnh thứ hai, coi một đầu vào tường minh duy nhất là lỗi tham số và không còn in gợi ý thành công trước khi việc tạo thất bại
Version 3.539.6
Đã sửa
- Quét bộ đệm dừng khi
TStream.Readtrả về 0 thay vì khi đọc ngắn, và các stream trả về từng vài byte một không còn bỏ sót phần đuôi của dữ liệu đang quét - Cơ chế mã hóa OID gộp hai arc đầu tiên thành một subidentifier base-128, nên
2.999.3được mã hóa thành06 03 88 37 03thay vì lặng lẽ biến thành1.15.3 - Khi vẽ bản xem trước vào một image stream được tái sử dụng, nội dung cũ được xóa trước, nên kết quả render nhỏ hơn không còn giữ lại phần đuôi của ảnh trước đó
CopyPageRangesgiải phóng các thể hiện tài liệu của nó trong khốifinally, bao gồm cả trường hợp tải thất bại, phát sinh ngoại lệ và hoàn thành bình thường
Version 3.539.3
Đã sửa
- Mã lỗi 526 không còn mang hai nghĩa khác nhau.
PDFLIB_ERROR_TEXT_LOCATION_INVALID,PDFLIB_ERROR_TEXT_LOCATION_STALEvàPDFLIB_ERROR_TEXT_LOCATION_READ_ONLYchuyển sang các mã 535, 536 và 537 vốn chưa được gán, nên bên gọi rẽ nhánh theo 526 chỉ còn thấy đúng lỗi xuất JSON mà mã này được ghi nhận; mã 527 và 528 không còn được dùng PDFlibErrorMessagemô tả các mã từ 101 đến 104 theo điều thực sự làm chúng phát sinh. Bốn mã này thuộc về các tham số mã hóa chứ không phải các lỗi phân tích cú pháp mà bảng thông báo đã khai, nên lỗi độ mạnh mã hóa không còn báo "Invalid PDF structure"PDFlibErrorMessagetrả về thông báo thật cho mọi mã mà thư viện phát sinh. Các lỗi mở byte-range và HTTP, mở tệp mạng, kích thước khóa mã hóa thô, xuất JSON, các việc từ chối handle marked-content và clip-path, các mã text-location được đánh số lại, các mã tuân thủ phông có thể nhúng cùng PDF/VCR và PDF/E, cũng như biểu mẫu duplicate-field và form-script trước đây rơi về thông báo chung "<segment> error (NNN)"- Trang tham chiếu
LastErrorCodeliệt kê trọn bộ mã, bao gồm mã duplicate-field 705 trước đây còn thiếu, và không còn hiển thị các mục 527 và 528 đã bị loại bỏ
Version 3.539.2
Đã sửa
- Tệp TIFF mà directory khai báo nhiều giá trị hơn số giá trị thực có trong tệp nay bị từ chối hoàn toàn. Trước đây, các giá trị bị bỏ nhưng số lượng vẫn giữ, nên lần đọc sau lấy phần tử đầu của một mảng rỗng
- Tệp PNG có color type hoặc bit depth ngoài định dạng trong header bị từ chối thay vì decode mà không có kênh màu; hành vi cũ đẩy các bộ lọc hàng vào một buffer rỗng
- Một resolution chunk của PNG ngắn hơn chín byte đã định nghĩa không còn đọc vượt quá dữ liệu được cung cấp
- Ảnh hai chiều CCITT Group 3 và Group 4 được decode trong Free Pascal và Lazarus; trước đây, việc tra reference line trả về một mảng chưa từng được tạo và trình biên dịch đó để nó rỗng
Version 3.539.1
Đã sửa
- Disk cache của viewer nay bỏ các bitmap đã render trong mỗi lần nâng cấp thư viện. Version marker dùng để so sánh được quản lý riêng với phiên bản thư viện và bị tụt lại, nên cache từ build cũ có thể được tái sử dụng sau khi cập nhật
- Build Free Pascal và Lazarus đọc lại đúng bitmap 16 bit
BI_BITFIELDS: khi tệp dùng extended info header, channel mask bị lấy từ offset sai nên màu bị lẫn - Các hàng bitmap không còn bị đọc sai trên build thiếu device backing: hàng 1 bit và 4 bit được tính kích thước bằng phép chia số nguyên, mất các pixel cuối mỗi hàng, và khi lưu, khối pixel bị lệch một byte
- Bắt một bản vẽ vào metafile khi chưa biết kích thước không còn tạo ảnh rỗng; frame được ghi lại nay lấy từ chính bản vẽ, giống như trên VCL
- Việc đọc bitmap có kích thước palette khai báo lớn hơn color depth bị từ chối thay vì coi là tin cậy
- Truy vấn trạng thái job máy in giải phóng spooler handle đã mở, nên việc thăm dò job không còn rò rỉ một handle cho mỗi lần gọi
Docs\index.htmllại là cổng vào theo ngôn ngữ. Một lần đồng bộ tài liệu đã thay nó bằng bản sao điều hướng tham chiếu tiếng Trung giản thể, trong đó các liên kết mục trỏ tới thư mục không tồn tại
Đã thay đổi
- Gói Lazarus
PDFlibPasLaz.lpknay liệt kê các unit tùy chọn cho LZW encoder, Brainpool, Ed448, ML-DSA, máy in PDF và encoder JBIG2 ngoài cùng với các khai báo metafile, giống tập hợp unit của build dòng lệnh build-Win64-Demo-Laz.cmdchuyển tiếp tớibuild-Lazarus-Demo.cmd win64, nên cả hai điểm vào đều đặt tệp thực thi demo trongbin\x86_64-win64thay vì thư mục mã nguồn demo
Version 3.539.0
Đã thêm
- Free Pascal và Lazarus hiện hỗ trợ bản build Windows 32-bit bên cạnh Win64, bao gồm tạo, tải và mã hóa PDF cùng hình ảnh JPEG 2000
- Các tập lệnh build của thư viện Lazarus, bản dùng thử, bản demo và kiểm thử console chấp nhận
win32hoặcwin64, đồng thời hỗ trợ trình biên dịch chéo chạy trên máy chủ Win32 với thư mục đầu ra riêng cho từng kiến trúc
Đã thay đổi
- Trên Win32, bộ mã hóa Pascal JBIG2 tích hợp được dùng khi yêu cầu bộ mã hóa bên ngoài; bộ mã hóa bên ngoài liên kết tĩnh vẫn khả dụng trên Win64
- Bản build FPC có nén thông qua phần triển khai zlib bằng Pascal đi kèm và không còn tải
zlib1.dlltừ đường dẫn tìm kiếm của hệ thống
Version 3.538.0
Đã thêm
- Các build Free Pascal và Lazarus giờ có thể dùng bộ mã hóa JBIG2 ngoài: thêm unit mới PDFlibJBIG2EncDLL vào dự án và đặt
pdflibjbig2enc.dllcạnh tệp thực thi, khi đóAddImageJBIG2FromStreamExvà các entry point JBIG2 khác sẽ tôn trọng yêu cầu bộ mã hóa ngoài tại đó đúng như trên Delphi. Không có DLL, yêu cầu tiếp tục fallback về bộ mã hóa Pascal tích hợp sẵn, nên các dự án không kèm theo nó không bị ảnh hưởng - Tệp
DLL\JBig2Enc\Win64\pdflibjbig2enc.dllmới có thể phân phối lại cùng với build script tạo ra nó
Version 3.537.0
Đã thêm
- Các build Free Pascal và Lazarus chuyển metafile thành nội dung trang vector.
ImportEMFFromFile,ImportEMFFromStream, các biến thể Ex của chúng,LoadFromCanvasDCvàNewPageFromCanvasDCgiờ tạo toán tử vẽ PDF thực sự với phông nhúng tại đó, như trên Delphi, thay vì báo rằng chế độ không khả dụng. Văn bản vẫn chọn và tìm kiếm được, và đầu ra nhỏ hơn nhiều lần so với bản nhập đã raster hóa
Version 3.536.7
Đã sửa
- Việc liệt kê máy in trả về tên thật trên Free Pascal và Lazarus. Trước đây mọi máy in chỉ trả về ký tự đầu tiên, khiến việc chọn máy in, profile máy in tùy chỉnh và chính việc in đều từ chối mọi máy in đã cài đặt
GetPrinterNameskhông còn gây crash trên các build không có VCL: giờ nó hỏi spooler trực tiếp, nhưGetLatestPrinterNamesđã làm
Version 3.536.6
Đã sửa
- Chuyển metafile thành nội dung trang vector hiện báo thất bại trên các build không làm được, thay vì trả về một picture có nội dung rỗng.
ImportEMFFromFile,ImportEMFFromStream, các biến thể Ex của chúng vàLoadFromCanvasDCđều trả về một image id trông hợp lệ tại đó, nên trang ra trắng tinh mà không có gì chỉ ra lý do. Nhập cùng metafile đó dưới dạng ảnh không bị ảnh hưởng và vẫn mang picture giống hệt - Canvas capture và nhập metafile không còn crash khi không thể chạy chuyển đổi: cả hai entry point đều dùng picture kết quả mà không kiểm tra nó có tồn tại
Version 3.536.5
Đã sửa
- Nhập metafile raster hóa hoạt động trên Free Pascal và Lazarus.
ImportEMFFromFile,ImportEMFFromStreamvà các biến thể Ex của chúng không trả về gì khi được yêu cầu raster hóa, vàLoadFromCanvasDCcrash ở cùng chế độ, vì drawing stream đưa cho image loader không phải thứ nó đọc được tại đó. Các đường vector không bị ảnh hưởng
Version 3.536.4
Đã sửa
- Canvas capture metafile trên Free Pascal và Lazarus lại báo kích thước vật lý của nó, nên
LoadFromCanvasDCvà các entry point canvas capture khác nhập được bản vẽ thay vì thất bại trên khung có kích thước bằng không - Đối tượng phông không dùng VCL giờ báo
PixelsPerInchthực và sao chép khiAssign. Cả hai đều không hoạt động trước đây, nên code lấy độ phân giải kết xuất từ phông yêu cầu canvas cỡ 0, và việc đưa một phông đã chuẩn bị cho canvas lặng lẽ giữ lại phông cũ - Metafile tạo trên Free Pascal mặc định dùng định dạng enhanced, khớp với mọi nền tảng khác; trước đây chúng được lưu ở bố cục 16-bit legacy trừ khi caller tự đặt flag
Version 3.536.3
Đã sửa
- Các build Free Pascal và Lazarus giờ nhập được ảnh BMP 4-, 8- và 16-bit.
AddImageFromFilevàAddImageFromStreamlặng lẽ không trả về ảnh nào ở những độ sâu bit đó, bao gồm dạng 16-bitBI_BITFIELDSmà các chương trình vẽ ghi ra, vì trình đọc bitmap không dùng VCL chỉ hiểu đầu vào 1-, 24- và 32-bit
Version 3.536.2
Đã sửa
- Xuất metafile GDI cổ điển hoạt động trên Free Pascal và Lazarus:
RenderPageToMetafileFilevàRenderPageToMetafileStreamgây access violation vớimfEMFvàmfWMF, vì canvas metafile không dùng VCL là một vật thay thế rỗng không có brush, pen hay phông. Cả hai định dạng giờ được ghi vào một enhanced metafile thực và được ghi ra,mfWMFkèm placeable header mà một tệp .wmf cần
Version 3.536.1
Đã sửa
- Các build Free Pascal và Lazarus giờ ghi tệp BMP 1-, 4- và 8-bit hợp lệ: bitmap thay thế cho bitmap VCL không xuất bảng màu nào cả, nên bitmap đánh chỉ mục palette bị mọi trình đọc từ chối và vẽ trên một palette toàn đen
- Nhập ảnh hai mức (bi-level) hoạt động trở lại trên Free Pascal:
AddImageCCITTFromFile,AddImageCCITTFromStreamvà các tương đương JBIG2 giờ đọc được bitmap 1-bit được đưa vào, thay vì thất bại vì chỉ đầu vào BMP 24- và 32-bit được giải mã
Version 3.536.0
Đã thêm
- Các build Free Pascal và Lazarus giờ chạy các đường batch song song thay vì fallback về vòng lặp tuần tự:
RenderPagesToFilesParallel, các batch tối ưu hóa phía sau tối ưu hóa tài liệu và kết xuất tile song song đều tỏa ra trên các lõi CPU tại đó, khớp hành vi của Delphi
Đã thay đổi
- Kết xuất trang song song giờ kết xuất trang đầu tiên trên thread gọi trước khi tỏa ra, nên engine kết xuất được khởi tạo một lần thay vì bị mọi worker khởi tạo đồng thời
Version 3.535.0
Đã thêm
- Các build Free Pascal và Lazarus giờ kèm bộ mã hóa JPEG 2000:
EncodeImageToJPXStream,EncodeImageToJPXFile,AddImageJPXFromFile,AddImageJPXFromStreamvàAddImageJPXFromStringtạo ảnh JPXDecode tại đó đúng như trên Delphi, ở cả hai chế độ lossy và lossless - Bitmap không dùng VCL mà các build Free Pascal, macOS và FireMonkey sử dụng giờ nạp được stream BMP 24-bit và 32-bit không nén và báo định dạng alpha
Đã sửa
- Giải mã ảnh qua imaging backend của Windows không còn crash trên các build Free Pascal; stream giờ được đưa cho backend ở dạng nó chấp nhận
- Gán một bitmap cho bitmap khác trên các build không dùng VCL sẽ sao chép các pixel thay vì để bitmap đích rỗng, điều vốn lặng lẽ tạo ra đầu ra trắng tinh trong các đường chuyển đổi ảnh
Version 3.534.1
Đã sửa
- Bộ giải mã TIFF tích hợp sẵn nay từ chối các bố cục BigTIFF và bố cục dạng ô (tiled) không được hỗ trợ kèm thông tin chẩn đoán rõ ràng, đồng thời kiểm tra biên kích thước sau giải mã và kích thước dải (strip) trước khi cấp phát
Version 3.534.0
Đã thay đổi
CheckFileCompliancevà tiền kiểm PDF/UA nay xác thực chiều rộng phông đơn giản và phông CID nhúng, khai báo Type 1/CharSetvà CID/CIDSetđầy đủ, Form XObject chứa văn bản được gọi ngoài nội dung đánh dấu, cũng như toán tử văn bản phân giải thành.notdef
Version 3.533.0
Đã thêm
TPDFlibPKCS11Clientcó thể khám phá các khóa ML-DSA không chứng thư được chọn rõ ràng, báo cáo tập tham số của chúng và ký thông điệp gốc thông qua cơ chếCKM_ML_DSAcủa PKCS #11 3.2
Version 3.532.0
Đã thay đổi
- Các stream lớn dùng chuỗi bộ lọc
/ASCII85Decodevà/FlateDecodethông thường nay mã hóa và giải mã qua một pipeline bộ nhớ có giới hạn mà không cần hiện thực hóa biểu diễn trung gian
Version 3.531.0
Đã thêm
AddWebCaptureCommand,GetWebCaptureCommandCount,GetWebCaptureCommandvàClearWebCaptureCommandstạo, liệt kê và xóa siêu dữ liệu lệnh Web Capture/SpiderInfochuẩn của catalog mà không thực hiện truy vấn mạng
Version 3.530.0
Đã thêm
BPLoadCurve,BPKeyGen,BPSignFixedKvàBPVerifycài đặt ECDSA trên ba đường cong trường nguyên tố RFC 5639 brainpoolP256r1, brainpoolP384r1 và brainpoolP512r1 bằng thuần Pascal: số học 33-limb radix-2^16 dùng chung cho mọi độ rộng đường cong, rút gọn mô-đun kiểu bit-serial, nhân đôi và cộng trên Jacobian với bộ chặn alias tường minh, nghịch đảo Fermat và nonce do bên gọi cung cấp để ký; các vectơ known-answer được sinh bằng một bản cài đặt độc lập và kiểm tra chéo hai chiều đều đạt trên mọi đường cong, cùng với các kiểm thử hồi quy khứ hồi và từ chối giả mạo
Version 3.529.0
Đã thêm
Ed448PublicKeyFromSeed,Ed448SignvàEd448Verifycài đặt PureEdDSA RFC 8032 trên edwards448 bằng thuần Pascal: số học trường Goldilocks 16-limb radix-2^28 với phép gập Solinas 2^448 = 2^224 + 1, phép cộng nhóm dạng tích hợp nhất mạnh cho các đường cong a = +1, rút gọn mô-đun toàn bộ digest theo cấp của nhóm cho các đại lượng SHAKE256 114 byte, và xác thực hệ số 4; cả hai vectơ known-answer mục 7.4 RFC 8032 đều đạt chính xác từng byte, cùng với các kiểm thử hồi quy khứ hồi, từ chối giả mạo và xác thực độ dài
Version 3.528.0
Đã thêm
MLDSA65KeyGen,MLDSA65SignvàMLDSA65Verifycài đặt FIPS 204 ML-DSA-65 với khóa công khai 1952 byte, khóa bí mật 4032 byte và chữ ký 3309 byteMLDSA87KeyGen,MLDSA87SignvàMLDSA87Verifycài đặt FIPS 204 ML-DSA-87 với khóa công khai 2592 byte, khóa bí mật 4896 byte và chữ ký 4627 byte
Version 3.527.0
Đã thêm
PDFlibMLDSAcung cấp bản cài đặt thuần Pascal của FIPS 204 ML-DSA-44 với sinh khóa từ seed tất định, ký kiểu hedged hoặc tất định, lấy mẫu từ chối có giới hạn và xác thực chữ kýMLDSA44KeyGen,MLDSA44SignvàMLDSA44Verifydùng kích thước chuẩn khóa công khai 1312 byte, khóa bí mật 2560 byte và chữ ký 2420 byte, hỗ trợ ngữ cảnh tới 255 byte và được xác thực với vectơ known-answer chính thức
Version 3.526.0
Đã thêm
- Ngữ cảnh SHAKE XOF dạng streaming (
PLShakeXOFInit/PLShakeXOFAbsorb/PLShakeXOFFinalize/PLShakeXOFSqueeze) thực hiện squeeze số byte tùy ý xuyên qua các hoán vị Keccak cho cả SHAKE128 (rate 168) và SHAKE256 (rate 136), kèm bộ bao bọc dùng một lầnPLShakeXOF; đầu ra 200 byte xuyên khối được xác thực với các digest tham chiếu của cả hai biến thể
Version 3.525.0
Đã thay đổi
SHAKE256ByteArrayvàSHAKE256StreamRangenay chấp nhận đầu ra tới mức hút 136 byte của bọt (trước đây là 64), cho phép các digest hút một lần ở độ dài băm Ed448 là 114 byte; các kiểm thử known-answer mới bao phủ đầu ra 114 byte của thông điệp rỗng vàabc
Version 3.524.0
Đã thêm
DownsampleImagesExphân loại mọi ảnh thành bitonal, grayscale hoặc màu dựa trên không gian màu khai báo và số bit mỗi thành phần, đồng thời áp dụng ngân sách DPI và chất lượng JPEG theo từng lớp trong một lượt; ảnh quét bitonal được mã hóa lại không mất dữ liệu và cờ chỉ-khi-nhỏ-hơn giữ nguyên các byte gốc khi mã hóa lại làm dung lượng tăng
Version 3.523.0
Đã thêm
CopyForeignObjectsao chép sâu một đối tượng gián tiếp cùng toàn bộ tập đóng tham chiếu của nó từ một tài liệu đã nạp khác vào tài liệu được chọn, ánh xạ lại số đối tượng để các tham chiếu dùng chung vẫn dùng chung trong bản sao
Version 3.522.0
Đã thêm
SetPagePieceInfo,GetPagePieceInfovàClearPagePieceInfoquản lý các từ điển dữ liệu riêng cấp trang (ISO 32000-2 14.5) được khóa bằng tên ứng dụngAddNamedPagevàGetNamedPageđăng ký và phân giải trang theo tên thông qua cây tên /Names /Pages của catalog
Version 3.521.0
Đã thêm
GetImageListItemNativeDataToString,GetImageListItemNativeFormatvàSaveImageListItemNativeDataToFiletrích xuất stream codec còn mã hóa gốc của mọi ảnh trong danh sách (JPEG, JPEG 2000, JBIG2, CCITT, Flate hoặc thô) mà không giải mã, giữ nguyên các byte gốc cho các quy trình passthrough
Version 3.520.0
Đã thêm
AnalyzeModificationsphân loại mọi thay đổi kể từ một bản lưu theo danh sách trắng cập nhật-LTA, điền biểu mẫu và chú thích, rồi trả về cấp độ sửa đổi tổng thểGetModificationLevel,GetModificationFindingCount,GetModificationFindingLevel,GetModificationFindingObjNumvàGetModificationFindingDetailhiển thị các kết quả đã phân loại của lần phân tích gần nhất
Version 3.519.0
Đã thêm
CompareWiththực hiện so sánh cấu trúc giữa tài liệu được chọn và một bản lưu, phân loại mọi đối tượng gián tiếp thành đã thêm, đã xóa hoặc đã thay đổi thông qua các dấu vân tay nội dung bỏ qua sự dịch chuyển số đối tượngGetCompareFindingCount,GetCompareFindingKind,GetCompareFindingObjNumvàGetCompareFindingDetailđọc các kết quả của lần so sánh gần nhất, bao gồm cả khác biệt về số trang
Version 3.518.0
Đã thêm
SHAKE256ByteArrayvàSHAKE256StreamRangecung cấp digest đầu ra mở rộng SHAKE256 (ISO/TS 32001, RFC 8702) với các lượt đọc hai đoạn theo dải byte và đầu ra từ 1 đến 64 byte, được xác thực với các kiểm thử known-answer NIST FIPS 202
Đã thay đổi
- Lõi Keccak nay mang một byte phân tách miền để SHA-3 và SHAKE dùng chung một bản cài đặt hoán vị; trong hồ sơ ký CMS, SHAKE256 vẫn được dành riêng làm digest nội bộ của Ed448 và được cố ý bỏ khỏi bộ chọn digest
Version 3.517.0
Đã thêm
AddPageAssociatedFileFromFilevàAddPageAssociatedFileFromStringgắn các đặc tả tệp nhúng vào mảng /AF của một trang riêng lẻ (ISO 32000-2 14.13) thay vì catalog tài liệuGetPageAssociatedFileCount,GetPageAssociatedFileEmbeddedIndexvàClearPageAssociatedFilesliệt kê và xóa các tệp liên kết cấp trang sau các vòng lưu/nạp khứ hồiSetOptionalContentConfigInfoghi siêu dữ liệu trình bày (tên cấu hình, người tạo và chế độ liệt kê bảng lớp) lên cấu hình nội dung tùy chọn mặc định
Version 3.516.0
Đã thêm
ApplyContentFilterChainvàTPDFContentFilterChainchạy các bộ lọc nội dung cấp chỉ dẫn trên mọi lớp nội dung của trang, với chuỗi có thứ tự, điều khiển dừng sớm và chuyển tiếp dữ liệu người dùngExportDocumentJSONvàGetDocumentJSONtuần tự hóa toàn bộ đồ thị đối tượng tài liệu, bao gồm các từ điển stream với tải trọng base64 và trailer, thành cấu trúc JSON kiểu qPDFSetPDFDeclarations,GetPDFDeclarationsURI,GetPDFDeclarationsRole,GetPDFDeclarationsVersion,GetPDFDeclarationsCount,HasPDFDeclarationvàClearPDFDeclarationsghi, đọc và xóa các tuyên bố tuân thủ PDF Declarations mà máy có thể đọc đượcAuditPageTree,AuditXRefStructure,AuditObjectReachability,AuditStreamLengths,AuditFontEmbeddingvàAuditColorSpaceschạy sáu lượt chẩn đoán cấu trúc độc lập với các kết quả phân hạng mức nghiêm trọngGetAuditFindingCount,GetAuditFindingSeverity,GetAuditFindingItemvàGetAuditFindingDetailđọc các kết quả của lượt kiểm toán gần nhất
Version 3.515.0
Đã thêm
ExecuteFormFieldScriptEventvàTPDFlibFormScriptEventthực thi các sự kiện trường Keystroke, Format, Validate và Calculate có giới hạn với các thuộc tính Event, Field và Document được kiểm soátSetFormScriptLimits,GetFormScriptLimitsJSONvàGetFormScriptDiagnosticscấu hình và báo cáo các ngân sách nguồn, thao tác, lồng nhau, chuỗi và truy cập thuộc tính
Đã thay đổi
- Môi trường chạy script biểu mẫu an toàn nay hiển thị siêu dữ liệu trường nguồn và đích chỉ đọc, tra cứu trường tài liệu và trạng thái lựa chọn tổ hợp phím, trong khi vẫn giữ tương thích ở mức chỉ có giá trị
Bảo mật
- Việc thực thi script nay từ chối các sự kiện giá trị nút, đột biến đối tượng và lựa chọn ngoài phạm vi, áp dụng giới hạn tài nguyên độc lập cho việc thực thi và phân tích phụ thuộc, đồng thời báo cáo vị trí thất bại có giới hạn của trình phân tích cú pháp
Version 3.514.0
Đã thêm
SetPDFEModetạo tài liệu kỹ thuật PDF/E-1 với cú pháp PDF 1.6, định danh Info và XMP đồng bộ, siêu dữ liệu vòng đời và một output intent quản lý màu được nhúngGetPDFEDiagnosticsvà kiểm thử tuân thủ 7 cung cấp xác thực PDF/E-1 tại thời điểm lưu, trên tệp trực tiếp và qua pipeline dùng chung với các ngân sách đối tượng, nội dung và đệ quy có giới hạn
Đã thay đổi
- Việc lưu PDF/E-1 nay thực thi định danh, siêu dữ liệu vòng đời, mã hóa được phép, tính nhất quán output intent, loại trừ XFA và các cổng chặn hành động không an toàn, trong khi tiền kiểm còn kiểm toán thêm không gian màu thiết bị, toán tử nội dung, phông, chú thích, biểu mẫu, nội dung tùy chọn, tham chiếu tệp ngoài, trạng thái đồ họa và các ràng buộc stream 3D
Version 3.513.0
Đã thêm
SetPDFVCRModevà các API phạm vi template cùng placeholder tạo các template thay thế PassThrough PDF/VCR-1 trên nền PDF/X-4GetPDFVCRDiagnostics,GetPDFVCRManifestvà kiểm thử tuân thủ 6 cung cấp xác thực tại thời điểm lưu, trên tệp trực tiếp và qua pipeline dùng chung, kèm trích xuất trường và placeholder JSON đã được xác thực
Đã thay đổi
- Việc lưu PDF/VCR nay thực thi siêu dữ liệu định danh, một gốc template trực tiếp, các trường khai báo duy nhất, lựa chọn trang hợp lệ, placeholder thay thế mức lá và liên kết trang cùng MCID chính xác trên toàn bộ cây cấu trúc
Version 3.512.0
Đã thêm
SetPDFRModevà các API trang raster PDF/R tạo các tài liệu trao đổi raster bị giới hạn từ dữ liệu thô, CCITT Group 4 hoặc JPEG mà không chuyển mã các đầu vào nén được hỗ trợGetPDFRDiagnosticsvà kiểm thử tuân thủ 5 cung cấp xác thực PDF/R trong bộ nhớ, trên tệp trực tiếp và qua pipeline dùng chung
Đã thay đổi
- Việc lưu PDF/R nay thực thi marker, phiên bản và hồ sơ mã hóa bắt buộc, đối tượng thế hệ không, từ điển và bộ lọc bị giới hạn, một stream nội dung duy nhất, toán tử chỉ-raster, tài nguyên dải có thứ tự, tính nhất quán màu và độ phân giải, cũng như độ phủ trang đầy đủ
Version 3.511.0
Đã thêm
TPDFlibFormTextDirection,SetTextDirection,GetVisualCaretOrdervàMoveVisualCaretbổ sung hướng đoạn tự động hoặc tường minh cùng điều hướng con nháy vật lý an toàn theo grapheme cho việc sửa biểu mẫu nhiều hướngResolvedTextDirectionvàVisualCaretPositionhiển thị hướng đoạn hiệu lực và phân biệt các khe con nháy tách tại biên hai chiều
Đã thay đổi
- Các đoạn văn bản đã định hình nay áp dụng sắp xếp lại trực quan theo mức nhúng cho nội dung hỗn hợp trái-sang-phải và phải-sang-trái, trong khi giá trị trường vẫn giữ thứ tự UTF-16 logic
Version 3.510.0
Đã thêm
MinimumSlotHeighttrì hoãn việc ghép thành phần động trước khi nhân bản hoặc chụp khi vùng hiện tại quá ngắnMinimumFollowingHeightgiữ một mảnh cuối cùng với vùng đầu tiên do bên gọi xác định cho thành phần tiếp theo mà không ràng buộc các mảnh trung gianTPDFlibDynamicRetryReason,LastRetryReasonvàLastRequiredSlotHeightcho biết lý do việc đặt bị hoãn và chiều cao bắt buộc đã biết
Đã thay đổi
- Các lần thử lại trong không gian dòng nay giữ lại các mảnh đã ghi nhận, trạng thái thành phần, chỉ mục ghép và nội dung trang, đồng thời chỉ loại bỏ lần thử riêng lẻ
Version 3.509.0
Đã thêm
TPDFlibDynamicPaginationPolicybổ sung các chế độ tách, giữ-chung-một-lần và đặt-hoàn-chỉnh-nghiêm-ngặt với kết quả thử lại riêng biệt và trạng thái chờ có thể quan sát
Đã thay đổi
- Các lần thử thành phần động bị hoãn nay loại bỏ nội dung đã chụp và trạng thái có thể thay đổi một cách nguyên tử, trong khi đặt nghiêm ngặt chấp nhận thu nhỏ theo tỉ lệ nhưng không bao giờ chấp nhận đầu ra một phần hoặc bị cắt
Version 3.508.0
Đã thêm
TPDFlibFormSession.DispatchInputEventchấp nhận các sự kiện con trỏ, bánh xe, phím có tên và văn bản tổ hợp kiểu hóa độc lập nền tảng và trả về trạng thái tiêu điểm, rê, nhấn, lựa chọn và thay đổi giá trị
Đã thay đổi
- Điều phối đầu vào biểu mẫu nay thực thi các chuyển đổi con trỏ Widget
/E,/X,/Dvà/Ucó thứ tự, hủy chụp, chỉnh sửa an toàn theo grapheme, di chuyển con nháy nhận biết dòng, các phím tắt lựa chọn và lịch sử chuẩn, kích hoạt nút và điều hướng bánh xe lựa chọn
Đã sửa
- Lịch sử Backspace và Delete nay khôi phục con nháy trước-phím mà người dùng nhìn thấy thay vì lựa chọn grapheme tạm thời dùng nội bộ cho việc thay thế nguyên tử
Version 3.507.0
Đã thêm
TPDFlibFormSessionnay cung cấp undo và redo cấp trường có giới hạn với truy vấn khả dụng, số bước được giữ lại, dung lượng cấu hình được và xóa lịch sử tường minh
Đã thay đổi
- Lịch sử sửa biểu mẫu lưu các delta văn bản gọn nhẹ, khôi phục giá trị và lựa chọn có hướng mà không điều phối lại hành động hay callback, loại bỏ các nhánh redo sau sửa đổi mới và xóa tại các biên vòng đời chỉnh sửa
Version 3.506.0
Đã thêm
TPDFlibFormSessionnay cung cấp thay thế lựa chọn có thể phủ quyết, cắt và các thao tác dán do bên gọi cung cấp với callback sửa văn bản chủ có thể thay đổi và thực thi/MaxLenan toàn theo grapheme
Đã thay đổi
- Các lần ghi nhận của phiên biểu mẫu nay chạy các hành động xác thực và định dạng sẵn có trước khi thay đổi trường, giữ các sửa đổi bị từ chối một cách nguyên tử và tách giá trị thô đã xác thực khỏi giao diện Widget đã định dạng
Version 3.505.0
Đã thêm
- Bổ sung các dải lựa chọn văn bản trường biểu mẫu có hướng theo đơn vị mã UTF-16, điểm mã Unicode và cụm grapheme mở rộng, kèm báo cáo mốc và con nháy cùng chuyển đổi biên được lưu cache
Version 3.504.0
Đã thêm
- Bổ sung việc đặt thành phần động nhận biết tràn với các chính sách từ chối, cắt và thu nhỏ theo tỉ lệ, căn chỉnh độc lập cùng báo cáo trang, hình học và biến đổi cuối cùng
Version 3.503.0
Đã thêm
TPDFlibDynamicComponentSessionghép từng mảnh trang có trạng thái một cách lười với ngữ cảnh trang, báo cáo kích thước đã dùng, trạng thái hoàn tất, đặt lại và ảnh chụp trạng thái đã ghi nhậnReleaseCapturedPagevô hiệu hóa handle chụp Form XObject sau lần đặt cuối cùng của nó, trong khi vẫn giữ các tham chiếu tài nguyên trang và các lần gọi hiện có
Đã thay đổi
- Các lần thử thành phần động nay vẽ trên trạng thái đã nhân bản bên trong một Form XObject được cô lập và chỉ ghi nhận sau khi vị trí được xác thực; callback bị từ chối, hình học không hợp lệ và ngoại lệ sẽ khôi phục trang được chọn và giữ nguyên nội dung đích cùng trạng thái thành phần
Version 3.502.0
Đã thêm
TPDFlibFormSessionnay cung cấp hình chữ nhật Widget CropBox trực quan đã xoay, kiểm tra trúng cao nhất, tiêu điểm theo điểm và điều hướng tiêu điểm bàn phím tới hoặc lui
Đã thay đổi
- Chuỗi Tab áp dụng thứ tự hàng, cột, cấu trúc, mảng chú thích
/Tabscủa trang và Widget PDF 2.0 với hướng ViewerPreferences, thứ tự ổn định xuyên trang và duyệt cây cấu trúc có giới hạn SetTabOrderModenay xác thực cả năm chế độ chuẩn và tự chọn PDF 2.0 choAvàW
Version 3.501.0
Đã thêm
ApplyRepeatedPageFragmentđặt một Form XObject đã chụp xuyên qua một dải trang dưới dạng artifact Pagination, Layout, Page hoặc Background PDF 2.0 kiểu hóa, trong khi dùng chung stream nội dung và tài nguyên giữa mọi lần đặt
Đã sửa
- Từ điển thuộc tính artifact nay dùng toán tử nội dung đánh dấu
BDCbắt buộc trong các đường dẫn công khai và bố cục bảng, đồng thời các loại và phân loại artifact PDF 2.0 chọn phiên bản tính năng đầu ra bắt buộc
Version 3.500.0
Đã thêm
SetTextFlowPaginationLinesđiều khiển độc lập số dòng mồ côi tối thiểu giữ lại ở đáy hộp văn bản và các dòng goá được bảo toàn cho hộp hoặc cột tiếp theo
Đã thay đổi
- Phân trang luồng văn bản nay chỉ chuyển các dòng đuôi bắt buộc về phía trước với tầm nhìn trước có giới hạn, trong khi phép tách bất khả thi giữ nguyên luồng để đặt vào vùng lớn hơn
Version 3.499.0
Đã thêm
TPDFlibFormSessioncung cấp tiêu điểm AcroForm độc lập nền tảng, sửa văn bản và lựa chọn, lựa chọn UTF-16 đánh số từ 0, trạng thái ghi nhận và hủy, với các callback chủ kiểu hóa cho hành động tiêu điểm và mất tiêu điểm Widget
Đã thay đổi
- Các giá trị phiên đã ghi nhận nay thực thi giới hạn văn bản và chỉ tái sinh giao diện bẩn cùng tập đóng tính toán bị ảnh hưởng trước khi báo cáo thay đổi giá trị
Version 3.498.0
Đã thêm
GetDirtyFormAppearanceCountvàRegenerateDirtyFormAppearancestheo dõi các tham chiếu đối tượng Widget AcroForm đã thay đổi và chỉ tái sinh tập đóng tính toán của phiên hiện tại đã khử trùng lặp
Đã thay đổi
RegenerateFormAppearancesnay duyệt các trường phân cấp một lần từ gốc của chúng, báo cáo số thực tế các lần tái sinh Widget thành công và giữ lại các giao diện thất bại để thử lạiUpdateAppearanceStreamnay báo cáo thất bại sinh chính xác và giữ các Widget chưa thành công ở trạng thái chờ vớiNeedAppearancesđược bật
Version 3.497.0
Đã thêm
SetOutputIntentMixingHintsghi độ đậm mực và thứ tự in vật lý PDF 2.0, đồng thời từ chối giá trị không hợp lệ, tên trùng, thứ tự thiếu và các chất màu đã được dữ liệu quang phổ biểu diễnSetOutputIntentSpectralDatanhúng các stream đặc trưng màu đặc CxF/X-4 có giới hạn, tái sử dụng dữ liệu giống nhau giữa các lần gán lặp và chéo chất màu, và yêu cầu đúng mộtSpotInkCharacterisationkhớp;ClearOutputIntentColorantDataxóa cả hai từ điển siêu dữ liệu chất màu
Đã thay đổi
GetEffectivePageOutputIntentJSONnay báo cáo độ đậm pha trộn, thứ tự in, chất màu quang phổ và tính hợp lệ quang phổ đã giải mã cho cả tài liệu vừa tạo và vừa nạp lại- Tiền kiểm PDF/X nay kiểm toán OutputIntent
MixingHintsvàSpectralData, bao gồmDotGainbị cấm, các dải độ đậm, loại thứ tự in, xung đột chất màu, giải mã stream và các khớp mực đặc CxF duy nhất
Version 3.496.0
Đã thêm
DAOpenFileWithEncryptionKeyvàDAOpenFromStreamWithEncryptionKeymở các tài liệu được mã hóa từ khóa mã hóa tệp thập lục phân đã được cấp quyền mà không cần suy xuất mật khẩu, kèm các xuất tệp DLL tương ứng và trạng thái xác thực tường minh
Bảo mật
- Đầu vào tệp bằng khóa thô luôn chỉ đọc nguồn, thực thi độ dài khóa chính xác theo từng bản lưu và các bộ xác thực
/Uhoặc/Permskhả dụng, từ chối sự không khớp kể cả khi khôi phục thiếu-bộ-xác-thực được bật, và xóa vật liệu khóa đã giữ lại khi handle đóng
Version 3.495.0
Đã thêm
SetXRefLoadPolicyvàGetXRefLoadPolicychọn và báo cáo kiểu nạp nghiêm ngặt, tương thích hoặc khôi phục cho đầu vào tài liệu được chọn và Direct Access
Đã thay đổi
- Nạp nghiêm ngặt nay yêu cầu tiêu đề chính xác, marker cuối, offset khai báo, mục bảng độ rộng cố định, siêu dữ liệu stream tham chiếu chéo và mọi phần
/Prevhoặc/XRefStmđược liên kết - Nạp tương thích giữ lại các sửa chữa offset và cấu trúc được kiểm soát mà không bước vào tái dựng thô, trong khi nạp khôi phục có thể dựng lại các đối tượng cấp cao nhất và bị nén, cũng như tổng hợp trailer còn thiếu
- Chẩn đoán tham chiếu chéo nay báo cáo chính sách đã chọn, các quyết định trình phân tích có thứ tự và cờ tương thích theo từng phần, bao gồm các chuỗi phụ hybrid bị từ chối và bằng chứng khôi phục Direct Access
Version 3.494.0
Đã thay đổi
- Lưu tất định đầy đủ không mã hóa không có seed tường minh nay suy ra cả hai mục
/IDtrailer ban đầu từ 16 byte đầu của digest SHA-256 dạng streaming trên phần đầu và phần thân tài liệu đã tuần tự hóa - Digest nội dung loại trừ các định danh trailer trước đó, dữ liệu tham chiếu chéo và các trailer phụ thuộc offset, đồng thời chuẩn hóa các định danh tài nguyên được sinh và UUID thể hiện XMP để các thay đổi trang, tài nguyên, tệp đính kèm và siêu dữ liệu quyết định kết quả
- Tên tài nguyên nội bộ và thẻ subset phông nhúng ổn định khi chế độ tất định được bật, bao gồm cả đầu ra đóng gói từ điển vào các stream đối tượng nén; lưu mặc định giữ các định danh được ngẫu nhiên hóa
Version 3.493.0
Đã thêm
LoadFromMappedFilevàDAOpenMappedFilemở các PDF cục bộ qua các vùng xem ánh xạ chỉ đọc có giới hạn, với tùy chọn bắt buộc ánh xạ hoặc cho phép dự phòng stream tệp di độngGetMappedFileInfovàDAGetMappedFileInfobáo cáo trạng thái ánh xạ đang hoạt động, kích thước tệp và cửa sổ, vùng xem hiện tại, dung lượng đọc và hoạt động ánh xạ lại
Đã thay đổi
- Nguồn ánh xạ giữ một cửa sổ căn theo cấp phát và ánh xạ lại nó xuyên qua các lượt đọc đối tượng hoặc stream bị hoãn lớn, chặn mức dùng không gian địa chỉ độc lập với kích thước tệp
- Nguồn ánh xạ cục bộ và nguồn dựa trên callback nay dùng chung các lượt đọc lát đối tượng tuyệt đối độc lập con trỏ, trong khi các API nạp tệp hiện có giữ nguyên hành vi trước đây
Version 3.492.0
Đã thêm
GetPageThumbnailDataToStreamvàGetPageThumbnailDataToStringhiển thị các tải trọng hình thu nhỏ trang đã mã hóa hoặc đã giải mã qua bộ lọc, trong khiDeletePageThumbnailxóa siêu dữ liệu trang mà không thay đổi trang được chọn
Đã thay đổi
- Truy vấn sự hiện diện và siêu dữ liệu hình thu nhỏ nay yêu cầu một stream ảnh; các mục không phải stream dị dạng vẫn có thể xóa được thay vì bị báo cáo là hình thu nhỏ dùng được
- Đầu ra thô được sao chép theo các khối có giới hạn và đầu ra đã giải mã dùng lại pipeline bộ lọc streaming, bảo toàn các mã hóa ảnh cuối như DCT và JPX cho những bên gọi cần tải trọng gốc
Version 3.491.0
Đã thêm
InsertPageElementClipPath,ReplacePageElementClipPathvàDeletePageElementClipPaththêm cắt cục bộ vào một phần tử trang cụ thể hoặc sửa một thành phần nguồn đã chụp với quy tắc tô non-zero và even-odd
Đã thay đổi
- Các thành phần cắt nay giữ lại lớp nguồn, dải chỉ dẫn, độ sâu lồng nhau và dấu vân tay chuẩn hóa để phân biệt nguồn có thể sửa với biên ban đầu, outline văn bản, Form lồng nhau, đường dẫn dị dạng và các đối tượng đường dẫn xuyên lớp
- Cắt cục bộ dùng các phạm vi trạng thái đồ họa cân bằng, bao gồm dựng lại đối tượng văn bản hợp lệ, trong khi xóa cắt khỏi một đường dẫn cũng vẽ sẽ giữ lại nét hoặc tô ban đầu
Version 3.490.0
Đã thêm
SetPageElementMarkedContentTextProperty,SetPageElementMarkedContentPropertySourcevàDeletePageElementMarkedContentPropertysửa văn bản Unicode, các đối tượng PDF đã tuần tự hóa và thuộc tính hiện có trên một khung nội dung đánh dấu được liệt kê cụ thể
Đã thay đổi
- Tài nguyên thuộc tính có tên được sửa qua copy-on-write cục bộ trang, danh sách thuộc tính nội tuyến tự động nâng cấp khi một giá trị gián tiếp yêu cầu tài nguyên, và xóa thuộc tính cuối cùng sẽ nén
BDCthànhBMC - Các sửa nội dung đánh dấu xác thực chỉ dẫn nguồn đã chụp và ảnh chụp thuộc tính đã phân giải trước khi ghi, rồi vô hiệu hóa mọi handle phần tử trang sau một thay đổi thành công
Version 3.489.0
Đã thêm
GetTextBlockCharContentLocationvàDAGetTextBlockCharContentLocationánh xạ từng vị trí UTF-16 đã trích xuất tới lớp nội dung, stream, chỉ dẫn, toán tử, phần tử mảngTJvà dải byte nguồn đã mã hóa của nóReplaceTextBlockCharSourceBytesthực hiện thay thế cục bộ các byte được mã hóa theo phông có bảo vệ dấu vân tay, trong khi giữ lại các chuỗi liền kề và giá trị kerning
Đã thay đổi
- Các vị trí được sinh,
/ActualText, Form lồng nhau, đã chuyển mã và xuyên lớp được phân loại tường minh là chỉ đọc, trong khi các phần mở rộng ligature giữ lại dải glyph nguồn dùng chung của chúng - Tra cứu khoảng nội dung dùng tìm kiếm nhị phân và các danh sách đã trích xuất giữ hai dấu vân tay lớp độc lập để từ chối các sửa đổi cũ trước khi phân tích cú pháp hoặc viết lại nội dung trang
Version 3.488.0
Đã thêm
ImportPageAsFormXObjectnhập một trang từ bất kỳ tài liệu đang mở nào thành handle trang-đã-chụp dùng lại được mà không thay đổi cây trang của bên nào
Đã thay đổi
- Nhập trang-thành-Form chỉ sao chép nội dung trang đã giải mã, tập đóng tài nguyên kế thừa độc lập và các mục group, siêu dữ liệu cùng thông tin mảnh tương thích Form, loại trừ chú thích, hình thu nhỏ và cấu trúc chỉ-của-trang
- Các hộp trang được chọn dùng quy tắc dự phòng chuẩn, xoay góc phần tư kế thừa được chuẩn hóa vào ma trận Form và các lần đặt lặp dùng chung một stream nội dung nén
Version 3.487.0
Đã thêm
- Các handle phần tử trang nay hiển thị ngăn xếp nội dung đánh dấu đang hoạt động từ ngoài-vào-trong, thẻ, các giá trị
/MCIDđã xác thực, toán tử thuộc tính gốc và mọi mục từ các từ điển trực tiếp hoặc dựa-trên-tài-nguyên đã phân giải
Đã thay đổi
- Truy vết trạng thái nội dung phân giải các tài nguyên
/Propertiescó tên một lần cho mỗi phạm vi tài nguyên và giữ các khung nội dung đánh dấu bất biến mà không phân tích lại nội dung trang cho các truy vấn lặp - Mức lồng nội dung đánh dấu được theo dõi độc lập với
q/Qvà bị chặn trong từng stream nội dung trang hoặc Form để các chuỗi chưa đóng dị dạng không thể rò rỉ sang stream khác
Version 3.486.0
Đã thêm
- Các handle phần tử trang nay hiển thị mọi thành phần của giao cắt cắt hiệu lực của chúng, bao gồm các lệnh move, line, cubic và close đã biến đổi, quy tắc tô non-zero hoặc even-odd, biên thành phần và chẩn đoán vùng kết hợp
Đã thay đổi
- Truy vết trạng thái nội dung giữ các chuỗi cắt bất biến xuyên qua biên trang, khôi phục
q/Qvà biên Form, trong khi dùng chung các thành phần không đổi giữa các ảnh chụp - Liệt kê phần tử trang thu thập các đích biến đổi đường dẫn và trạng thái đồ họa trong cùng một lượt nội dung, tránh lượt phân tích lớp đường dẫn phụ thêm trước đây
Version 3.485.0
Đã thêm
GetTextBlockCharUnicodeFlagsvàDAGetTextBlockCharUnicodeFlagshiển thị các chẩn đoán ánh xạ Unicode từng ký tự, dự phòng, thiếu-bản-đồ, mã-không-được-đồ, bản-đồ-không-hợp-lệ và thay thế
Đã thay đổi
- Trích xuất văn bản giữ nguồn gốc ánh xạ Unicode bên cạnh từng đơn vị mã UTF-16 và xác thực các cặp surrogate trước khi chấp nhận đầu ra
ToUnicode - Các ánh xạ không hợp lệ hoặc một phần nay dùng cơ chế dự phòng mã hóa phông độc lập và phát U+FFFD khi không có dự phòng nào có ý nghĩa
Đã sửa
- Các bản đồ Unicode Identity nay trả về một đơn vị mã đã ánh xạ thay vì coi giá trị mã nguồn là số lượng đầu ra
Version 3.484.0
Đã thêm
- Các khối văn bản tài-liệu-được-chọn và Direct Access nay hiển thị góc baseline từng ký tự, gốc, ma trận ô, quad đã hiệu chỉnh descent và hộp thẳng trục
GetTextBlockCharBoxbổ sung bản tương ứng cho tài liệu được chọn bên cạnh truy vấn hộp Direct Access hiện có
Đã thay đổi
- Trích xuất văn bản giữ các vectơ baseline, advance và chiều cao ô một lần cho mỗi ký tự để các truy vấn hình học bảo toàn xoay, cắt xén và baseline đảo chiều trong thời gian hằng
DAGetTextBlockCharBoxnay suy ra kết quả trực tiếp từ hình học ký tự đã giữ thay vì đi qua mọi độ rộng phía trước
Đã sửa
- Chiều rộng ký tự và bản kết xuất khối văn bản của tài liệu được chọn nay áp dụng thước tọa độ cấu hình đúng một lần
Version 3.483.0
Đã thêm
GetTextBlockCharSourceFlagsvàDAGetTextBlockCharSourceFlagshiển thị nguồn gốc theo bit cho các ký tự được sinh, dấu gạch nối và các phần thay thế/ActualTextđược tôn trọng
Đã thay đổi
- Trích xuất khối văn bản nay giữ các cờ nguồn ký tự bên cạnh các mảng văn bản và advance hiện có, bao gồm khoảng trắng suy ra từ khoảng cách ký tự lớn, mà không phân tích lại nội dung trang cho các truy vấn lặp
Version 3.482.0
Đã thêm
GetXRefDiagnosticsvàDAGetXRefDiagnosticstrả về báo cáo JSON cho các loại tham chiếu chéo hiệu lực, vị trí byte, biên trailer, số mục và mọi bảng hoặc stream trong chuỗi bản lưu
Đã thay đổi
- Các liên kết hybrid-reference, lần thử lại tiêu đề-dịch-chuyển và quyết định khôi phục tài-liệu-có-thể-sửa nay vẫn hiển thị dưới dạng bằng chứng chẩn đoán riêng biệt, bao gồm quét đối tượng thô, khôi phục đối tượng nén và trailer được tổng hợp
Version 3.481.0
Đã thêm
- Tài liệu dựa-trên-callback và Direct Access theo dải byte có thể xếp hàng các công việc tải trước phụ thuộc trang, biểu mẫu hoặc đối tượng trong nền với bốn mức ưu tiên lập lịch, hủy, chờ và chẩn đoán tiến trình JSON
- Tải trước phụ thuộc lặp việc khám phá dải còn thiếu cho đến khi đích sẵn sàng, với các giới hạn byte nguồn, đọc-trước và lượt lập kế hoạch cấu hình được
Đã thay đổi
- Mỗi stream dải byte nay sở hữu một worker FIFO có thứ tự ưu tiên chia sẻ bộ nhớ cache dải có giới hạn trong khi dùng trạng thái trình phân tích cô lập, cho phép công việc tài liệu tiền cảnh tiếp tục mà không dùng chung một trình đọc có thể thay đổi
- Hủy đã xếp hàng không thực hiện lượt đọc nguồn nào, hủy đang chạy được kiểm tra trước mỗi khối, và việc hủy stream rút cạn công việc còn tồn đọng trước khi phát hành nguồn của nó
Version 3.480.0
Đã thêm
LoadFromRangeSourcechấp nhận callback khả dụng không-tải-về tùy chọn cho các kho lưu trữ lũy tiến, với các truy vấn tài-liệu-được-chọn và Direct Access về mức sẵn sàng của trang, biểu mẫu và đối tượng gián tiếp- Báo cáo khả dụng trả về các dải byte bắt buộc và còn thiếu đã gộp, tính đầy đủ phụ thuộc và các bộ đếm duyệt đối tượng dưới dạng JSON
Đã thay đổi
- Stream dải byte có thể kiểm tra độ phủ đã cache và sẵn-sàng-từ-nguồn mà không đọc byte, di chuyển con trỏ stream hay thay đổi thống kê cache
- Khả dụng của trang chỉ đi theo đường dẫn cây trang đích và các phụ thuộc xử lý với tới được, trong khi các dải không khả dụng được báo cáo mà không gọi callback đọc
Version 3.479.0
Đã thêm
TByteRangeStream.ReadAtcung cấp các lượt đọc tuyệt đối độc lập con trỏ với chia sẻ single-flight cùng-khối, gộp yêu cầu liền kề có giới hạn và cửa sổ thu thập cấu hình được- Chẩn đoán cache dải nay báo cáo các yêu cầu đang chờ, cửa sổ thu thập đang hoạt động, các yêu cầu được phục vụ bằng gộp và các lượt đọc vật lý phủ nhiều khối
Đã thay đổi
- Các lượt đọc bị hoãn từ tài liệu dựa-trên-callback và dựa-trên-URL nay dùng offset tuyệt đối, tuần tự hóa các callback nguồn và gộp các khối liền kề đồng thời vào các lượt đọc nguồn giới hạn ở 16 MiB
- Xóa cache dải trong lúc một lượt tải đang chạy nay ngăn lần hoàn thành cũ đó làm đầy lại cache hoặc các bộ đếm sau-xóa, trong khi các bên chờ hiện có vẫn nhận được byte của mình
Version 3.478.0
Đã thêm
- Stream dải byte nay giữ lại các khối căn chỉnh trong một ngân sách byte kiểu ít-dùng-gần-nhất tường minh và báo cáo số cửa sổ, byte giữ lại, trúng, trượt, trục xuất, lượt đọc nguồn, byte nguồn và các lượt đọc lặp
LoadFromRangeSourcevàDAOpenFromURLDelphi chấp nhận ngân sách cache ban đầu, với các API tài-liệu-được-chọn và Direct Access mới để kiểm tra, đổi kích thước và xóa cache đang hoạt động
Đã thay đổi
- Khởi động ấm trang đầu Linearized nay nằm trong ngân sách byte-giữ-lại đã cấu hình
Version 3.477.0
Đã thêm
LoadFromRangeSourcenạp một tài liệu có thể sửa hoàn chỉnh qua callback dải byte ngẫu nhiên do bên gọi cung cấp, cho phép các đầu vào HTTP, cơ sở dữ liệu, kho đối tượng và tùy chỉnh giữ ở xa trong khi trình phân tích chỉ tải các dải cần thiết cho việc nạp và các thao tác bị hoãn- Giao ước
TPDFlibRangeReadEventmới nhận các offset tuyệt đối, buffer đích và số lượng có giới hạn, với nhà cung cấp callback vẫn thuộc sở hữu của bên gọi trong suốt vòng đời tài liệu đã nạp
Version 3.476.0
Đã thêm
- Bổ sung soạn thảo PDF/VT-3 trên nền PDF/X-6, PDF/X-6p và PDF/X-6n với siêu dữ liệu định danh đồng bộ, độ phủ phân-đoạn-tài-liệu bắt buộc và tiền kiểm chuyên dụng
Đã thay đổi
- Các hệ phân cấp phân-đoạn-tài-liệu nay phát và xác thực các khối con chuẩn 8192-mục cùng với các ràng buộc tên và kiểu XML nghiêm ngặt hơn
Version 3.475.0
Đã thay đổi
TPDFlibContentGraphicsState.BlackPointCompensationnay báo cáo trạng thái hiệu lựcDefault,ONhoặcOFFxuyên qua nội dung trang, khôi phục trạng thái đồ họa và các Form XObject được liệt kê đệ quy- Tiền kiểm PDF/X-6 nay từ chối các mục
UseBlackPtCompcó kiểu hoặc giá trị nằm ngoài mô hình bù điểm đen PDF 2.0
Version 3.474.0
Đã thay đổi
- Tiền kiểm PDF/X-6 nay xác thực các cờ chú thích có thể in, giao diện thường tất định, trạng thái giao diện nút, trường AcroForm và chữ ký, các loại trừ giao diện do trình xem sinh cùng vị trí và chuỗi hành động an toàn
- Soạn thảo PDF/X-6 chỉ cho phép JavaScript trên các chú thích Link được kích hoạt trực tiếp, giới hạn hành động có tên ở điều hướng trang và từ chối các đường dẫn hành động không an toàn, cấp tài liệu, cấp trang và cấp trường biểu mẫu trước khi chúng làm thay đổi tài liệu
Version 3.473.0
Đã thêm
SetPDFXModenay chấp nhận chế độ 5 cho trao đổi màu quy trình PDF/X-6p và chế độ 6 cho trao đổi n-chất-màu PDF/X-6n, cả hai đều dùng PDF 2.0 và các tham chiếu hồ sơ đầu ra bên ngoài- Các API mới
SetOutputIntentProfileReferencevàAddOutputIntentProfileReferenceURLtạo từ điển/DestOutputProfileRefcấp tài liệu hoặc cấp trang, suy ra checksum ICC, phiên bản và chữ ký không gian màu, xác thực siêu dữ liệu thiết bị đầu ra và chất màu, và bảo toàn một hoặc nhiều vị trí truy xuất RFC 3986 mà không nhúng các byte hồ sơ
Đã thay đổi
- Tiền kiểm PDF/X nhận diện các định danh XMP PDF/X-6p và PDF/X-6n, đồng thời xác thực kiểu hồ sơ bên ngoài, độ dài siêu dữ liệu, chữ ký màu-quy-trình hoặc n-chất-màu, bảng chất màu và các đặc tả tệp URL
GetEffectivePageOutputIntentJSONnay báo cáo siêu dữ liệu hồ sơ được tham chiếu bao gồmprofileCS,profileName,iccVersion,checkSum,profileURLsvàcolorantssau khi soạn thảo hoặc nạp khứ hồi
Version 3.472.0
Đã thêm
- Các API mới
SetPageOutputIntent,ClearPageOutputIntentsvàGetEffectivePageOutputIntentJSONtạo, xóa và kiểm tra các output intent cấp trang PDF 2.0, bao gồm cả dự phòng cấp tài liệu hiệu lực
Đã thay đổi
- Tiền kiểm PDF/X-6 nay chấp nhận các output intent cấp trang, ưu tiên chúng hơn intent tài liệu và xác minh rằng mọi trang phân giải tới một hồ sơ Gray, RGB hoặc CMYK nhúng
Version 3.471.0
Đã thêm
SetPDFXMode(4)soạn các tài liệu trao đổi hoàn chỉnh PDF/X-6 với cú pháp PDF 2.0, định danh XMP PDF/X-6 và một output intent quản lý màu nhúng
Đã thay đổi
- Tiền kiểm PDF/X nhận diện PDF/X-6, yêu cầu cú pháp PDF 2.0 và xác minh rằng output intent mang một khai báo hồ sơ ICC Gray, RGB hoặc CMYK nhúng
Version 3.470.0
Added
- Bố cục HTML hỗ trợ direction, wrapping, grow, shrink, basis, gap, justification và căn chỉnh trục chéo của Flexbox
- Bố cục HTML hỗ trợ track tường minh của CSS Grid, kích thước phân mảnh, track lặp lại, span, tự động xếp theo hàng hoặc cột, khoảng cách và căn chỉnh phần tử
- HTML story hỗ trợ chú thích cuối trang có đánh số, dành sẵn phần đáy khung, đổ lại văn bản thân bài và giữ nguyên thứ tự đánh số qua các trang nối tiếp
Changed
- Đo lường HTML và trình phát lại từ bộ đệm bao gồm hình học Flexbox, Grid và chú thích cuối trang, đồng thời vẫn giữ các giới hạn về vùng chứa và track
Fixed
- Việc xóa hàng loạt khóa và đổi tên khóa trong từ điển PDF vô hiệu hóa các chỉ mục khóa đã lưu trong đệm, ngăn lỗi tra cứu dữ liệu cũ trong quá trình nén bộ nhớ và xử lý tài liệu lặp lại
Version 3.469.1
Fixed
- Nhập EMF và chuyển đổi Canvas DC hiện giữ nguyên văn bản Unicode cùng ánh xạ glyph cho các phông TrueType đã nhúng và chưa nhúng
NewPageFromCanvasDCnối vào mọi trang được yêu cầu, cònTPDFlibPrinterchỉ commit mỗi canvas đúng một lần, không mất trang cũng không nhân đôi trang
Version 3.469.0
Added
SetImageSoftMaskExgắn mặt nạ mềm ảnh thang xám kèm màu matte tùy chọnNewSoftMaskGraphicsStatetạo các trạng thái đồ họa alpha, luminosity, transfer-function và reset có thể tái sử dụng từ Form XObject đã chụp lạiFlattenTransparencythay các trang được chọn bằng nội dung tĩnh đục ở độ phân giải và màu nền tùy chọn, phục vụ các phiên bản PDF cũ và quy trình lưu trữ
Changed
- Việc làm phẳng độ trong suốt xử lý từng trang một, chuẩn hóa hướng xoay khi hiển thị, tùy chọn giữ lại các chú thích tương tác, hỗ trợ tiến trình và hủy bỏ, đồng thời mặc định xóa bỏ các tài nguyên trong suốt không còn truy cập được
Version 3.468.0
Added
- Ảnh đầu vào dạng AVIF, HEIF, HEIC và JPEG XL có thể nhập qua các API ảnh hiện có hoặc qua các phương thức riêng
AddModernImageFromFile,AddModernImageFromStreamvàAddModernImageFromString SetModernImageCodecLibrary,ModernImageCodecAvailablecùng một callback bộ giải mã cung cấp khả năng chọn codec ngay trong tiến trình, sẵn sàng triển khai mà không cần file chuyển đổi tạm
Changed
- Việc giải mã ảnh hiện đại giữ nguyên hướng gốc, kênh alpha, hồ sơ ICC và độ sâu kênh tới 16 bit trước khi tái sử dụng đường ống xử lý ảnh PNG bản địa
Fixed
- Việc xác minh key-usage của chữ ký seed hiện đọc ngữ cảnh chứng chỉ bản địa với căn chỉnh con trỏ chính xác trên Win64
Version 3.467.0
Added
DeduplicateSimilarImageshợp nhất các image XObject tương tự về mặt cảm nhận, với ngưỡng difference-hash, sai số kênh trung bình và sai số kênh tối đa قابل cấu hình, hỗ trợ chạy thử và thu gom đối tượng mồ côi tùy chọnGetSimilarImageDeduplicationReportJSONvàTPDFlibImageSimilarityDedupStatsbáo cáo độ phủ giải mã, khối lượng ứng viên đã lập chỉ mục, các sai số được chấp nhận, tham chiếu được chuyển hướng và mức tiết kiệm ước tính trên phần dữ liệu đã mã hóa
Changed
- Việc so khớp ảnh xấp xỉ yêu cầu từ điển ảnh giống hệt nhau về mặt ngữ nghĩa, xác nhận các mẫu màu 64 × 64 đã giải mã và dùng chỉ mục băm tám dải để tránh phải so sánh từng cặp một trên toàn bộ
Version 3.466.0
Added
EncodeImageToJPXStreamvàEncodeImageToJPXFilemã hóa đầu vào bitmap thành JPEG 2000 lossy hoặc lossless khả nghịch theo cấu hình, đóng gói trong container JP2 chuẩnAddImageJPXFromFile,AddImageJPXFromStreamvàAddImageJPXFromStringthêm trực tiếp đầu vào bitmap đã mã hóa dưới dạng image XObjectJPXDecode
Changed
- Việc tạo ảnh JPEG 2000 kiểm tra tính hợp lệ của các tùy chọn chất lượng và lossless, phục hồi vị trí stream đầu vào thuộc về bên gọi, xóa đầu ra dở dang khi thất bại, tự động yêu cầu PDF 1.5 và giữ nguyên cơ chế kiểm tra tương thích PDF/A-1 hiện có
Version 3.465.0
Added
RenderPageTileToStreamvàRenderPageTileToFilekết xuất các vùng pixel thiết bị tùy ý với phần chồng lấn được cắt gọn và nền trắng, nền khóa trong suốt hoặc nền tùy chỉnhRenderPageTilesToFiles,RenderPageTiledToStreamvàRenderPageTiledToFiletạo lưới ô song song hoặc ghép ranh giới lõi chính xác của các ô thành ảnh trang không có đường nốiSetRenderSurfaceCacheLimit,GetRenderSurfaceCacheInfovàClearRenderSurfaceCachecung cấp bộ đệm LRU tự chọn bật, an toàn luồng, với hạn mức số mục và số byte độc lập cho các bề mặt ô đã ghép hoàn chỉnh
Changed
- Kết xuất song song trang đơn hiện khởi động sẵn một display list dùng chung trước khi phân việc cho các luồng làm việc, nhờ đó content stream chỉ được phân tích một lần; các trình biên dịch không hỗ trợ vẫn giữ đường dẫn tuần tự xác định
Version 3.464.0
Added
GetXFARenderedPageCountcùng nhómRenderXFAPageToStream,RenderXFAPageToStringvàRenderXFAPageToFiletạo các trang raster tĩnh từ mẫu XFA, tập dữ liệu đã liên kết và các ngắt trang tường minh, không làm thay đổi tài liệu gốcConvertXFAToAcroFormchuyển các điều khiển văn bản, mật khẩu, lựa chọn, hộp kiểm, nút bấm và chữ ký được hỗ trợ thành trường có thể chỉnh sửa, giữ nguyên tên, giá trị, tùy chọn, cờ, trang và ranh giới
Changed
- Việc nén Flate một lần với dữ liệu lớn hiện cung cấp cho backend bản địa một phần đuôi đầu vào được bảo vệ, ngăn lỗi checksum Adler không hợp lệ trong đầu ra PNG độ phân giải cao mà vẫn giữ được kết quả nén
Version 3.463.0
Added
RenderPageLayerToStream,RenderPageLayerToStringvàRenderPageLayerToFilexuất nội dung nền trang, chú thích, trường biểu mẫu hoặc toàn bộ đối tượng tương tác thành các lớp PNG có thể ghép độc lậpFlattenFormFieldTaggedvàFlattenFormFieldsTaggedOnPageRangeđổ hình dáng trường vào nội dung trang tĩnh mà vẫn giữ lại hoặc tạo mới ngữ nghĩa cấu trúcFormdễ tiếp cận
Changed
- Kết xuất riêng phần tương tác bỏ qua trình thông dịch nội dung nền, dùng một lượt hình dáng chú thích duy nhất và ghi nền trong suốt mà không thay đổi các cài đặt lâu dài của trình kết xuất
- Việc làm phẳng có gắn thẻ chuyển liên kết
OBJRriêng của Widget trong ParentTree thành nội dung đánh dấuMCRcủa trang, bảo toàn văn bản thay thế và văn bản thực hiện có, và giữ nguyên trường khi không thể chứng minh một liên kết an toàn
Version 3.462.0
Added
HitTestAnnotationvàGetAnnotationHitsJSONtìm chú thích nằm trên cùng hoặc tất cả chú thích tại một điểm trên trang, dùng hình học theo từng subtype cùng các tùy chọn dung sai, khả năng hiển thị và khung baoMoveAnnotationZOrdersắp xếp lại ngay tại chỗ các tham chiếu chú thích hiện có, cònSimplifyInkAnnotationsgiảm số điểm nét vẽ Ink với độ lệch hình học có giới hạn kèm thống kê chi tiết
Changed
- Tương tác với chú thích hiện kiểm tra các tứ giác markup, đường vector, hình học ellipse và vùng tô sau bước loại bỏ nhanh bằng hình chữ nhật, còn hình dáng Ink đã thay đổi sẽ được dựng lại tự động trừ khi bị trì hoãn một cách tường minh
Version 3.461.0
Added
RepairAnnotationAppearancesdựng lại các hình dáng thường bị thiếu, cũ, không hợp lệ, lệch trạng thái hoặc không hiển thị trên mọi trang, đồng thời trả về số liệu về vấn đề cùng thống kê theo nhóm chú thíchGetAnnotationAppearanceAuditJSONbáo cáo các vấn đề hình dáng của từng chú thích và tổng hợp số lượng mà không làm thay đổi tài liệu
Changed
- Việc tạo hình dáng cho markup, hình khối, đường vẽ, văn bản tự do và biểu tượng hiện dùng chung một bộ quét tài liệu một lượt, các bộ dựng đầu ra tăng dần và dấu vân tay nguồn nhỏ gọn để phát hiện trạng thái cũ một cách xác định
Version 3.460.0
Added
ExecuteFormFieldScriptthực thi một tập con cục bộ có giới hạn gồm các hành động kiểm tra, tính toán và định dạng biểu mẫu, không để lộ khả năng truy cập file, mạng, tiến trình, giao diện hay mã độngRecalculateFormFieldsthực hiện tính toán đầy đủ hoặc tăng dần theo phạm vi phụ thuộc, cònGetFormCalculationGraphJSONbáo cáo các phụ thuộc giữa trường, vị trí trong thứ tự tính toán và vòng lặp phụ thuộc
Changed
- Việc tính toán lại biểu mẫu đánh giá vào một bản chụp giá trị riêng, xếp các trường sẵn sàng theo thứ tự tính toán của AcroForm, từ chối vòng lặp phụ thuộc trước khi thay đổi và chỉ ghi giá trị sau khi đồ thị đã chọn chạy xong
Version 3.459.0
Added
MergeDocumentExthêm các chính sách tường minh cho trường biểu mẫu trùng tên: từ chối gộp, giữ tên chung với giá trị đồng bộ, hoặc gán hậu tố số xác định
Changed
- Việc từ chối trường trùng được kiểm tra trước khi số đối tượng, cây trang hoặc mảng biểu mẫu bị thay đổi, nhờ đó tài liệu đích và tài liệu nguồn vẫn có thể tái sử dụng sau một lượt gộp bị từ chối
Version 3.458.0
Added
DrawOpenTypeText,GetOpenTypeTextWidthvàGetOpenTypeGlyphRunđịnh hình, đo lường, vẽ và kiểm tra văn bản trực tiếp từ một handle phông TrueType hoặc OpenType hiện có, không cần tên mặt phông đã cài đặt- Các mô-đun bản địa định hình và tạo tập con OpenType di động đi kèm cho Windows 32-bit và 64-bit, kèm mã nguồn Linux và macOS có thể tự biên dịch cùng một biến môi trường ghi đè cho đường dẫn triển khai tùy chỉnh
Changed
- Vẽ văn bản chữ viết phức tạp hiện ưu tiên định hình GSUB và GPOS theo dữ liệu phông, bao gồm thay thế glyph, kerning, chữ nối và gắn dấu; một phương án dự phòng Pascal có giới hạn đảm nhiệm việc nối chữ Ả Rập và các định dạng tra bố cục OpenType phổ biến khi mô-đun bản địa không khả dụng
- Việc tạo tập con phông đã định hình hiện giữ lại glyph ID và bao trọn các phụ thuộc bố cục, phông biến thiên và phông màu, bao gồm dữ liệu COLR/CPAL và fvar/gvar/HVAR
Version 3.457.0
Added
CreateOpenTypeFontVariationtạo phông CFF tĩnh có thể tái sử dụng từ tọa độ trục phông biến thiên CFF2 theo yêu cầu
Changed
- Nhập OpenType CFF2 hiện chọn một thực thể mặc định tĩnh để vẽ và nhúng ngay lập tức, đồng thời giữ lại chương trình biến thiên để khởi tạo về sau
- Việc khởi tạo thực thể CFF2 đánh giá các variation store,
vsindexvàblendtrên toàn bộ subroutine cục bộ và toàn cục đã mở rộng, áp dụng biến thiên độ đo ngang và toàn cục, rồi xuất ra phông OpenType CFF1 có giới hạn và checksum chính xác cho các đường dẫn nhúng và tạo tập con CFF hiện có
Version 3.456.0
Added
- Thêm đầu vào WOFF2 cho các điểm vào file TrueType, OpenType và bộ sưu tập trên Windows 10 phiên bản 1703 trở lên, bao gồm đường viền và độ đo TrueType đã biến đổi, phông CFF và các mặt phông trong bộ sưu tập
Changed
- Container phông web được giải nén một lần trong bộ nhớ, dùng bảng Unicode cmap tốt nhất hiện có để ánh xạ ký tự, và nhúng hoặc xuất sfnt kết quả thay vì container đã nén
Version 3.455.0
Added
GetFontVariationAxescho thấy từng trục phông biến thiên TrueType với tên bản địa hóa, miền thiết kế, giá trị mặc định và trạng thái ẩn, cònCreateTrueTypeFontVariationtạo phông tĩnh có thể tái sử dụng từ tọa độ trục theo yêu cầu
Changed
- Việc khởi tạo thực thể TrueType biến thiên áp dụng dữ liệu
avar,gvar,HVARvàMVAR, dàn phẳng đường viền ghép, dựng lại độ đo ngang và toàn cục, loại bỏ các bảng biến thiên và hinting cũ, rồi xuất sfnt có checksum chính xác để vẽ, nhúng, tạo tập con và kiểm tra glyph SaveFontToFilecó thể xuất trực tiếp các chương trình TrueType đang giữ trong bộ nhớ, kể cả thực thể phông biến thiên vừa tạo trước khi PDF được lưu
Version 3.454.0
Added
GetFontColorGlyphvàGetFontColorGlyphByIndexcho thấy đồ thị tô màu COLR v0 và v1, bảng màu CPAL, tài liệu SVG-in-OT và các bộ bitmap nhúng, phục vụ việc kiểm tra và kết xuất trực tiếp từ ứng dụng
Changed
- Việc kiểm tra bảng phông màu dùng lối truy cập sfnt lười và có giới hạn, đồng thời tham gia vào hạn mức byte dùng chung của bộ đệm phông, tránh việc phân tích đường viền quá sớm với các phông màu cỡ lớn
Version 3.453.0
Added
SetFontCacheLimit,GetFontCacheInfovàClearFontCachecung cấp hạn mức byte dùng chung, cơ chế loại bỏ ít dùng gần nhất cùng thống kê trúng, trượt và mức chiếm chỗ cho các tài nguyên mặt phông, chuỗi văn bản đã định hình và chương trình đường viền đã phân tíchGetFontGlyphIndexánh xạ đầy đủ điểm mã Unicode qua bảng cmap định dạng 4 và định dạng 12 của TrueType, cònGetFontGlyphOutlinetrả về đường đơn và đường ghép đã biến đổi kèm độ đo advance thô, biên trái, khung bao và số đơn vị trên em
Changed
- Các lượt đo và vẽ văn bản đã định hình lặp lại được tái sử dụng từ các chuỗi đã định hình sao chép sâu trong phạm vi hạn mức bộ đệm dùng chung, còn việc kiểm tra glyph lặp lại tái sử dụng chương trình phông đã phân tích thay vì phân tích lại cho từng glyph
- Các chương trình phóng nhị phân nạp từ chuỗi và container WOFF giữ một stream byte thô tự sở hữu, ngăn lỗi mã hóa lại văn bản và tham chiếu stream hết hạn trong lúc truy cập bảng trễ
Version 3.452.0
Added
soCanonicalEquivalentcho phép tìm kiếm văn bản, tìm kiếm hàng loạt và quy trình thay thế khớp cả văn bản NFC và NFD tương đương chuẩn, đồng thời vẫn báo hiệu offset và độ dài trong văn bản trích xuất gốcsoGraphemeClustersgiới hạn kết quả khớp trong ranh giới cụm đồ thị mở rộng và khiến ký tự đại diện?nuốt trọn một cụm hoàn chỉnh, bảo vệ cặp surrogate, chuỗi dấu kết hợp, chuỗi emoji ZWJ, cờ hiệu và chữ ghép Indic
Changed
- Chuẩn hóa Unicode và phân tách cụm đồ thị dùng các bảng Unicode 15.1 sinh ra nhỏ gọn trên mọi nền tảng được hỗ trợ, không phụ thuộc vào dịch vụ văn bản của hệ điều hành
Version 3.451.0
Added
ExternalizeInlineImagesthay thế các ảnh nội tuyến được hỗ trợ và lặp lại trên một miền trang được chọn bằng một Image XObject dùng chung khi kích thước tuần tự hóa ước tính giảm xuống
Changed
- Việc ngoại hóa ảnh nội tuyến bảo toàn mặt nạ ảnh, nội suy, mảng decode, bộ lọc và tham số giải mã, đồng thời chủ động nén Flate các phần dữ liệu chưa lọc khi nhỏ hơn
- Nhóm SHA-256 chính xác, tên tài nguyên xác định, loại bỏ trang trùng lặp, báo cáo tiến trình và hủy bỏ mang tính hợp tác giúp kết quả tối ưu hóa luôn có giới hạn và lặp lại được
- Các mục từ điển nội tuyến không rõ ràng và các không gian màu không phải device giữ nguyên từng byte thay vì được nâng cấp khi thiếu ngữ nghĩa đầy đủ
Version 3.450.0
Added
NormalizeContentStreamschuẩn hóa khoảng trắng và token số trên một miền trang được chọn, vẫn bảo toàn toán tử, giá trị chuỗi và phần dữ liệu ảnh nội tuyến
Changed
- Nén nội dung hiện xuất token chuẩn ngay cả khi tối ưu hóa peephole không tìm thấy chỉ thị dư thừa nào
Fixed
- Số thực PDF có dấu cộng ở đầu tường minh hiện giữ nguyên giá trị trong quá trình phân tích và chuẩn hóa
- Dữ liệu stream đã thay đổi không còn giữ các tham số giải mã lỗi thời từ đường ống bộ lọc trước đó
Version 3.449.0
Added
SetTempFileQuota,GetTempFileQuotavàCompactDocumentMemorycung cấp cơ chế spool đối tượng trên đĩa có giới hạn, kèm khả năng tự chuyển về bộ nhớ khi cần
Changed
- Dữ liệu đối tượng tạm thời hiện dùng tra cứu có chỉ mục và nhận biết thế hệ, vẫn sẵn dùng sau khi handle ghi spool đóng lại
Version 3.448.0
Added
SetRecoveryModevàGetRecoveryModechọn chế độ nghiêm ngặt, sửa chữa dựa trên trailer hoặc phục hồi tốt nhất có thể trước khi nạp đầu vào PDF hư hỏng
Changed
SaveToStreamhiện ghi trực tiếp tới đích chỉ-ghi không thể tua mà vẫn giữ đường phân mảnh tuần tự hóa hiện có- Phục hồi tốt nhất có thể vẫn là mặc định, chế độ nghiêm ngặt tắt dựng lại thô, còn chế độ sửa chữa đòi hỏi một trailer còn tồn tại thay vì tự tạo
Version 3.447.0
Added
SetOptimizationWorkersvàGetOptimizationWorkerscấu hình các lô luồng làm việc có giới hạn cho tối ưu hóa ảnh và nén lại stream Flate, mặc định tự chọn bộ xử lý và có chế độ tương thích tuần tựOptimizeImages,RecompressStreams,MergeFileList,MergeFileListFastvàMergeFileListStricthiện báo cáo tiến trình được theo dõi và tôn trọng thao tác hủy hợp tác quaAbort
Changed
- Nén lại Flate và chuyển mã ảnh tự chứa chạy theo lô song song có giới hạn, trong khi các thay đổi trên tài liệu vẫn mang tính xác định và đơn luồng
- Tối ưu hóa ảnh hiện giữ lại dữ liệu bitmap đã giải mã để mã hóa lại, bỏ qua ảnh mặt nạ stencil và mặt nạ khóa màu, đồng thời xóa tham số giải mã cũ khi áp dụng thay thế JPEG
- Gộp danh sách file lớn chỉ giữ mở các trình đọc nguồn đang hoạt động, báo cáo tiến trình theo đầu vào và số đối tượng, đồng thời xóa đầu ra chưa hoàn tất khi bị hủy hoặc thất bại
Fixed
- Các thao tác gộp nhiều file hiện báo cáo hoàn tất thành công khi có nhiều hơn một nguồn được gộp
- Giảm mẫu và tối ưu hóa ảnh hiện giữ lại bitmap đã giải mã mà các đường mã hóa lại cần đến
Version 3.446.0
Changed
- Bản nạp chồng hai tham số của
SetDisplayListCacheLimitgiới hạn cả bộ nhớ display-list lẫn số mục được giữ, trong khi bản nạp chồng hiện có vẫn bảo toàn hạn mức byte đã cấu hình - Việc loại bỏ display-list hiện ưu tiên nội dung được tái sử dụng thường xuyên với giá trị dựng lại cao hơn trên mỗi byte giữ lại, còn các danh sách đơn lẻ quá khổ sẽ bỏ qua việc giữ lại mà không chặn kết xuất
- Các thao tác ghi và phát lại đang hoạt động ghim danh sách của mình, tra cứu đồng thời không bao giờ thấy bản ghi dựng dở, còn các lượt ghi bị hủy hoặc thất bại bị loại bỏ
GetDisplayListCacheInfovàGetResourceUsageStatisticsJSONbáo cáo số byte giữ lại, giới hạn, chi phí phát lại ước tính, số lần loại bỏ, bỏ qua, lượt ghi bị từ chối và tranh chấp khi dựng
Fixed
- Việc phát lại display-list hiện giải phóng các chuỗi toán hạng bị thay thế thay vì giữ lại một cấp phát từ mỗi toán tử trước đó
Version 3.445.0
Changed
- Bản nạp chồng ba tham số của
SetMemoryBudgetthêm hạn mức byte đã giải mã cho bộ đệm object-stream nén của từng tài liệu - Các mục bộ đệm object-stream hiện dùng cơ chế loại bỏ ít dùng gần nhất theo cả số mục và kích thước phần dữ liệu đã giải mã, còn các mục quá khổ bỏ qua bộ đệm mà không chặn truy cập đối tượng
- Hạn mức bộ nhớ cấu hình trước khi nạp hiện áp dụng cho cả tài liệu hiện có lẫn tương lai và có thể truy vấn qua
GetMemoryBudget GetResourceUsageStatisticsJSONhiện báo cáo số byte bộ đệm object-stream hiện tại, giới hạn byte và số lần loại bỏ
Version 3.444.0
Added
- Bản nạp chồng ba tham số của
SetParserLimitsgiới hạn số lỗi trình phân tích chấp nhận và dừng phục hồi xác định vớipdsErrorLimitkhi vượt hạn mức SetStreamDecodeLimitstừ chối chuỗi bộ lọc quá dài trước khi cấp phát bộ giải mã và áp dụng hạn mức byte giải mã cộng dồn trên các stream trong cùng một thao tác được theo dõi- Đường giải mã streaming và trong bộ nhớ dùng chung cùng cách tính bộ lọc và byte, kể cả giải mã object-stream trong lúc nạp tài liệu
GetResourceUsageStatisticsJSONbáo cáo ước tính bộ nhớ cấu trúc và stream, số ảnh và phông chữ, đỉnh byte đã giải mã, số lỗi, cùng số lần trúng và trượt của bộ đệm đối tượng, object-stream và display-listResetResourceUsageStatisticsđặt lại các bộ đếm chẩn đoán mà không loại bỏ tài liệu đã nạp hay các bộ đệm tái sử dụng được
Version 3.443.0
Added
SetParserLimitsvàGetParserLimitscấu hình và kiểm tra các giới hạn cứng cho đối tượng PDF lồng nhau và số mục trong bất kỳ mảng hay từ điển nào được phân tích trực tiếp- Giới hạn trình phân tích áp dụng trước khi các đường nạp file, stream, chuỗi, nhật ký chỉnh sửa, QDF và kiểm tra tính toàn vẹn tiêu thụ đối tượng, còn mặc định vẫn giữ giới hạn lồng hiện có và kích thước vùng chứa không hạn chế
TPDFStructure.DecodeMaxContainerItemstừ chối mảng và từ điển quá khố với trạng thái riêngpdsContainerLimitvà bảo toàn vị trí lỗiRegenerateFormAppearanceslàm mới mọi trường AcroForm cấp đầu và con trong một lượt duyệt, tùy chọn giữ lại hình dáng còn dùng được và xóaNeedAppearances
Version 3.442.0
Đã thêm
CheckFileCompliancechấp nhận kiểm thử tuân thủ 3 cho PDF/X và kiểm toán tài liệu hoàn chỉnh theo các quy tắc trao đổi in ISO 15930: định danh ấn bản pdfxid, cấp cú pháp theo part, đúng một output intent GTS_PDFX với hồ sơ nhúng và định danh điều kiện, trạng thái trapping khai báo, hình học TrimBox và BleedBox từng trang, chương trình phông nhúng, các loại chú thích bị cấm, JavaScript cấp tài liệu, tệp nhúng, mã hóa và bộ lọc LZWDecode- Các vấn đề hiển thị dưới dạng các dòng tiền tố PDFX thông qua handle danh sách chuỗi mà bộ kiểm PDF/A và PDF/UA đang dùng
Version 3.441.0
Added
SetPDFXModechọn chế độ tuân thủ PDF/X (1 = PDF/X-1a:2003, 2 = PDF/X-3:2003, 3 = PDF/X-4) áp dụng các quy tắc trao đổi in ISO 15930 ngay khi soạn thảo và ghi định danh phiên bản pdfxid trong XMP- Chế độ này cài một OutputIntent GTS_PDFX (mặc định in CMYK), khai báo trạng thái /Trapped và xác định phiên bản lưu theo phần (PDF 1.4 cho X-1a / X-3, PDF 1.6 cho X-4)
- Các cổng kiểm tra khi soạn thảo: không gian DeviceRGB và ICCBased bị từ chối dưới X-1a (X-3 / X-4 đòi hỏi OutputIntent RGB cho DeviceRGB), độ trong suốt và nội dung tùy chọn bị từ chối ngoài X-4; JavaScript, file đính kèm, mã hóa, ảnh LZWDecode và phông không nhúng bị từ chối ở mọi chế độ
- Sửa lỗi lúc lưu: mọi trang nhận một TrimBox (mặc định theo MediaBox), cờ Print của chú thích và NeedAppearances của AcroForm được chuẩn hóa, /Trapped được khai báo
GetInformation(203)báo cáo chế độ PDF/X đang bật
Version 3.440.0
Added
AddWatermarkAnnotationFromImageIDghi chú thích /Subtype /Watermark kèm ma trận lưu trữ /FixedPrint /Matrix để khi in, hình dáng co giãn theo trang (ISO 32000-1 12.5.6.17)AddPrinterMarkAnnotationFromImageIDghi chú thích /Subtype /PrinterMark mang tên dấu in /PN (ISO 32000-1 12.5.6.18)SetFillColorICCBasedvàSetLineColorICCBasedvẽ qua không gian màu /ICCBased ở mức nội dung, dựa trên file hồ sơ ICC nhúng, với số thành phần đọc từ phần đầu hồ sơ và các hồ sơ giống nhau dùng chung một tài nguyên
Version 3.439.0
Added
- Container phông web WOFF 1.0 được nhập trong suốt qua mọi điểm vào TrueType (
AddTrueTypeFontFromFile, các API stream); các bảng được giải nén từ stream zlib và thư mục sfnt dàn phẳng được dựng lại trước khi phân tích - Tài liệu nhúng chương trình sfnt đã gỡ vỏ vào FontFile2, không bao giờ nhúng container WOFF, nhờ đó phông nhúng luôn hợp lệ với mọi trình đọc
Version 3.438.0
Added
- Việc áp dụng seed-value mở rộng sang
LegalAttestation, các mụcIssuerchứng chỉ chấp nhận được và các mẫuKeyUsagetheo vị trí (ISO 32000-2 Bảng 237 và 238), kèm các API soạn thảo tương ứng: giá trị legal-attestation củaSetSignatureFieldSeedValue,AddSignatureFieldSeedIssuervàSetSignatureFieldSeedKeyUsage SetSignProcessLegalAttestationkhai báo xác nhận của người ký, được kiểm tra ràng buộc LegalAttestation bắt buộc tại thời điểm kýTPDFlibPKCS11Client.InitializeUserPINvàChangeUserPINquản trị PIN của token qua một phiên đọc/ghi riêng, với đăng nhập sĩ quan bảo mật choC_InitPIN
Version 3.437.0
Added
SetSignProcessRSAPSSPaddingký các chữ ký RSA tách rời bằng đệm RSASSA-PSS, phát hành trọn bộ tham số RFC 4055 (MGF1 với digest dùng để ký, độ dài salt bằng digest) bên trong định danh thuật toán chữ ký CMS- Các chữ ký có đệm PSS qua lại được với trình xác minh của thư viện, vốn hiện phân tích tham số RFC 4055 (mã hóa tường minh và ngầm định) và xác thực chúng qua CNG với độ dài salt đã khai báo
Version 3.436.0
Fixed
- Trích xuất văn bản hiện giải mã các tên glyph bổ sung AGL (dạng
uniXXXXvàuXXXXXX) nằm trong mảng /Differences của phông không kèm ToUnicode - Các ô mã hóa có tên glyph không phân giải được giờ quay về mã hóa cơ sở của phông thay vì lộ điểm mã thô hay ký tự thay thế khi trích xuất
- Phông TrueType nhúng dạng symbolic không có ToUnicode hiện giải mã qua bảng cmap của chương trình phông nhúng, khôi phục đúng Unicode đằng sau mỗi mã ký tự
Version 3.435.0
Added
AddTrueTypeCollectionFontFromFilenhúng mặt phông bất kỳ của bộ sưu tập TrueType (.ttc) theo chỉ số bắt đầu từ 0; hành vi trước đây luôn lấy mặt phông đầu tiênGetJPEGFileOrientationđọc thẻ hướng EXIF (1..8, bằng 0 nếu không có) của file JPEG cònGetJPEGFileICCProfileToFiletrích hồ sơ ICC APP2 của nó mà không cần nhập ảnh
Version 3.434.0
Added
- Tùy chọn kết xuất 11..15 ánh xạ các cờ chất lượng PDFium: bật/tắt kết xuất chữ LCD, chữ không làm mượt, ảnh không làm mượt, đường không làm mượt và halftone cưỡng bức; mặc định giữ đầu ra như trước và các backend GDI+/Cairo bỏ qua các cờ này
SetDisplayListCacheLimitgiới hạn bộ đệm display-list của content stream chỉ phân tích một lần; giới hạn dương sẽ loại bớt các mục dựng sớm nhất trước khi chèn, số 0 khôi phục hành vi không giới hạn
Version 3.433.0
Added
- Việc chọn digest cho dấu thời gian chữ ký chấp nhận dòng SHA-3 (mã 5..7 trong
SetPAdESSignatureTimeStampDigestAlgorithm), tương đồng với các tùy chọn digest của người ký SetTimeStampRetryCountcấu hình 0..10 lần thử TSA thêm sau lỗi vận chuyển hoặc phản hồi 5xx, với thời gian chờ tăng tuyến tính giữa các lần thửTPDFlibCertificateInfocó thêmFriendlyName,ThumbprintSHA1vàThumbprintSHA256đọc từ thuộc tính ngữ cảnh chứng chỉ trongEnumCertificates- Báo cáo xác thực lịch sử AdES có thêm
BaselineProfile: 0 cho subfilter không phải PAdES, sau đó 1=B-B, 2=B-T, 3=B-LT, 4=B-LTA suy ra từ dấu thời gian và bằng chứng DSS
Version 3.432.0
Added
- Chuỗi miền trang chấp nhận các từ khóa
odd,also even,firstvàlast, kể cả làm biên miền (3-last), trong mọi API nhận miền ReversePagesđảo ngược thứ tự trang của tài liệu đã nạpFlattenAnnotsOnPageRangeđổ toàn bộ chú thích của một miền vào nội dung trang chỉ bằng một lời gọiGetPageContentBoxbáo cáo khung bao hợp của mọi phần tử văn bản, ảnh và đường vẽ, cònAutoCropPagesđặt CropBox của từng trang theo khung đó cộng thêm lềAddBatesNumberingđóng dấu số tuần tự thêm số 0 phía trước, kèm tiền tố và hậu tố, tại chín vị trí kiểu bàn phím sốExtractDocumentRevisionghi trạng thái tài liệu tại bất kỳ bản sửa đổi tăng tiến nào trước đó ra file mới bằng cách cắt cụt chuỗi bản sửa đổiSplitDocumentByOutlinecắt tài liệu tại các mục outline tới một cấp nhất định, mỗi phần ra một fileComparePageTextsWithso sánh hai tài liệu trang theo trang trên văn bản trích xuất, báo cáo số trang khác nhau và vị trí lệch đầu tiênSanitizeDocumentcó thêmSANITIZE_XMP_PACKET(giá trị 32) loại bỏ toàn bộ stream siêu dữ liệu XMP và mọi từ điển/PieceInfo
Version 3.431.0
Added
- Tùy chọn trích xuất 19 (
SetTextExtractionOptionsvà biến thể truy cập trực tiếp) loại bỏ văn bản chế độ kết xuất 3, chẳng hạn các lớp OCR, khỏi đầu ra trích xuất mà không ảnh hưởng nội dung hiển thị - Tùy chọn trích xuất 20 thay glyph của các chuỗi nội dung đánh dấu
/Spanbằng giá trị/ActualTextcủa chúng khi trích xuất (ISO 32000-1 §14.9.4), tôn trọng cả từ điển thuộc tính nội dòng lẫn tài nguyên thuộc tính đặt tên DAGetTextBlockCharBoxsuy ra hộp thẳng trục cho từng ký tự từ tứ giác khối và bước tiến, phục vụ hình chữ nhật tô sáng và tính toán vùng bấm trên từng ký tự riêng lẻExportFormValuesToJSONtuần tự hóa giá trị trường AcroForm thành mảng JSON với ký tự thoát đúng chuẩn, tùy chọn bỏ qua trường rỗngGetPageTextStatisticsđếm ký tự, từ phân tách bằng khoảng trắng và khối cho bất kỳ trang nàoGetXMPPropertyđọc giá trị đơn giản từ gói XMP của tài liệu (xuống qua các lớp bọcrdf:Alt/rdf:Bag/rdf:Seqvà phân giải thực thể XML) cònSynchronizeXMPToInfochép siêu dữ liệu XMP ngược về từ điển Info- Kho phông chữ báo cáo kích thước chương trình nhúng:
TPDFlibDocumentFontcó thêmFontFileBytesvà bản ghi chẩn đoán có thêm tổngEmbeddedBytes
Version 3.430.0
Added
- Tìm kiếm văn bản có thêm bốn tùy chọn:
soDiacriticInsensitivekhớp truy vấn qua phép gấp Unicode 1:1 để chữ thường tìm được chữ có dấu tương ứng (Latin-1, Latin Extended-A, Hy Lạp và Kirin, vẫn tôn trọng phân biệt hoa thường khi kết hợp vớisoCaseSensitive),soWildcardsdiễn giải*và?trong truy vấn với ngữ nghĩa trái nhất dài nhất tương thíchsoWholeWord,soAcrossLineskhớp cụm từ vượt qua ngắt dòng và ngắt khối bằng cách nối các khối trích xuất của từng trang, vàsoPreserveStylekhiếnSearchAndReplaceTextvẽ lại phần thay thế theo cỡ chữ và màu của khối bị thay thay vì theo cài đặt hiện tại của bên gọi - Kết quả tìm kiếm hiện báo cáo vị trí và độ dài khớp trong văn bản khối (
MatchStart,MatchLength) cùng cửa sổ ngữ cảnh tùy chọn (ContextBefore,ContextAfter) điều khiển bởi thuộc tính mớiSearchContextChars AddTextMarkupFromSearchHitsvàHighlightTextSearchHitschuyển các kết quả tìm kiếm, hoặc kết quả được giữ bởi phiênBeginTextSearchđang chạy, thành chú thích markup Highlight / Underline / Squiggly / StrikeOut trên các trang tương ứng- Chuỗi tìm kiếm theo nghĩa đen từ bốn ký tự trở lên hiện dùng bảng bỏ qua Boyer-Moore-Horspool với đối chiếu ký tự rộng thận trọng, tăng tốc tìm kiếm hàng loạt trên các trang dài
Fixed
- Phông TrueType nhúng được ghi với mã hóa cơ sở WinAnsi và mảng Differences từng tạo ra CMap
/ToUnicodechỉ liệt kê các mục Differences, khiến trình đọc dựa vào nó giải mã mọi mã WinAnsi có dấu còn lại thành rác: trích xuất trả về ký tự thay thế?, việc gom khối có thể dừng ở dòng bị ảnh hưởng, và tìm kiếm nhạy dấu bỏ sót các tài liệu đó. Bộ sinh CMap hiện phủ toàn bộ mã hóa cơ sở với phần ghi đè Differences, chia thành các mục chuẩn 100 entry theo đặc tả - Sổ theo dõi gộp từ trong phễu văn bản từng chèn một mục advance ảo khi nối thêm chuỗi không có dấu phân tách, dịch mọi offset theo ký tự phía sau đi một vị trí và làm hỏng dữ liệu phái sinh như hình chữ nhật con của kết quả tìm kiếm và khoảng trắng suy ra từ khe hở
Version 3.429.0
Fixed
- Việc tạo tập con qua
AddTrueTypeSubsettedFonttừng tạo ra tài liệu có văn bản hiển thị trắng trơn trên mọi trình đọc: stream ánh xạ CID sang GID bị ghi đè ngầm bằng một mục/Identitycố định, khiến CID suy từ Unicode trỏ đến đường viền glyph sai. Stream này giờ mang tính quyết định và/Identitychỉ còn là phương án dự phòng khi không suy ra được ánh xạ; các tài liệu tập con với CJK và bộ glyph tự cập nhật hiển thị lại đúng đắn - Các lượt tô gradient trục và tròn từng vẽ thành màu đen đặc trên trình kết xuất GDI+ nội bộ:
GdipCreateLineBrushtừ chốiWrapModeClamp(chế độ chỉ dành cho brush kết cấu), và việc tạo brush thất bại rơi vào nhánh dự phòng màu đen đặc. Brush gradient giờ được tạo vớiWrapModeTilevà các lượt tô shader hiển thị giống hệt backend Cairo và các trình đọc bên ngoài - Việc tạo thực thể
TPDFlibtừng gâyEIntOverflowkhi thư viện được biên dịch với kiểm tra tràn số bật (cờ release của các script dựng demo dòng lệnh): băm tên FNV-1a, cộng dồn trạng thái MD5 và bộ đếm bit MD5 vốn là số học mô-đun theo thiết kế, giờ chạy với kiểm tra tràn cục bộ tắt. Đầu ra releasebuild-Win32-Demo/build-Win64-Demođi kèm không còn bị đổ vỡ lúc khởi động
Version 3.428.1
Added
- Demo chủ đạo
Showcasemới (Demo\Delphi\Showcase): dựng tài liệu bảy trang khi khởi động — trang bìa gradient, đồ họa vector với shader và pattern, typography TrueType nhúng, bảng có kiểu dáng, bộ sưu tập mã vạch, liên kết tương tác kèm chú thích duyệt và dấu trang, cùng một trang tóm tắt — và xem trước trực tiếp bên trong điều khiểnTPDFlibViewernhúng - Demo Showcase còn chạy chế độ không giao diện (
Showcase.exe <output.pdf>) với đối sốrendertùy chọn xuất mỗi trang thành PNG, nhờ đó toàn bộ đường ống tài liệu có thể được chạy thử từ script dựng
Fixed
- Phân tích content stream không còn đọc sai toán tử màu nét vẽ
RG: cơ chế nhìn trước tham chiếu gián tiếp trong bộ giải mã đối tượng từng nuốt0 0 0 RGthành một số cộng với tham chiếu ảo0 0 R, làm hỏng màu nét vẽ sau khi tối ưu nội dung và gây lỗi cú pháp toán tử trên các trình đọc nghiêm ngặt - Trình tối ưu peephole nội dung không còn loại bỏ toán tử
cs(không gian màu) lặp lại theo sau bất kỳ toán tử màu nào:rg/g/kvốn đặt lại không gian màu ngầm định, nên các lần tô pattern (scn) sau khi đổi màu văn bản giữ được/Pattern csvà hiển thị lại đúng
Version 3.428.0
Added
- Mười chín demo console Free Pascal / Lazarus mới dưới
Demo\Lazarus: OutlineBuilder, WatermarkDemo, NamedDestinations, EmbeddedFiles, XmpMetadata, TextBlockExtraction, AnnotationInspector, BarcodeGallery, TaggedPDF, SearchReplace, Redaction, LinearizeDemo, PatternShowcase, DocumentProperties, SecurityPermissionMatrix, PageStitch, OutputStream, MergePDF và PdfToImage - Một lớp tương thích
IOUtils(TPath / TDirectory / TFile) cho bản dựng FPC giữ cho các demo được chuyển port giống hệt nguồn với bản Delphi tương ứng
Changed
- Vật thay thế đồ họa NOVCL dưới Windows hiện vật hóa các đối tượng GDI thật: TBitmap cấp phát một DIB section quét từ trên xuống, TCanvas sở hữu memory DC và chọn lại các đối tượng GDI của brush, pen và phông khi thuộc tính đổi, còn TBrush / TPen / TFont dựng lại handle khi màu, kiểu dáng hoặc thuộc tính phông thay đổi
- Kết xuất trang dưới FPC hiện tạo đầu ra pixel khớp với bản dựng Delphi (quét hóa GDI+ qua DC thay thế), qua đó khôi phục khả năng xuất JPEG và BMP của
PdfToImage
Fixed
- Tạo PDF mã hóa dưới FPC từng làm hỏng giá trị chuỗi nhị phân (đọc lại
/IDtrailer,/Umã hóa), khiến đầu ra không qua được kiểm tra nạp lại; các bản dựng FPC không còn truyền-FcUTF8, vốn vì việc gắn codepage ansistring khiến phép nốiAnsiString + AnsiCharthay mọi byte trên $7F bằng dấu hỏi
Version 3.427.0
Added
- Hỗ trợ Free Pascal / Lazarus: thư viện hiện biên dịch dưới FPC 3.2 (Win64) từ chính mã nguồn của các bản dựng Delphi, kèm các script dựng mới
build-Lazarus-Lib,build-Lazarus-Lib-TRIAL,build-Lazarus-Testsvàbuild-Win64-Demo-Lazcùng góiPDFlibPasLaz - Nén và giải nén Flate dưới FPC chạy qua zlib tĩnh đi kèm FPC; mã hóa AES liên kết cùng đối tượng unity như bản dựng Delphi dùng; ảnh JPEG giải mã qua backend GDI+
- Một bộ kiểm thử console FPCUnit (
Tests\Lazarus) bao phủ vòng tạo/lưu/nạp tài liệu, deflate/inflate, AES và trích xuất văn bản, cùng hai demo console Lazarus (HelloWorld,TextExtract) nằm dướiDemo\Lazarus
Changed
- Tiền tố phạm vi unit (
System.SysUtils,Winapi.Windows, ...) bị loại bỏ khắp mã nguồn thư viện để cùng unit phân giải trên cả hai trình biên dịch; bản dựng thư viện Delphi dòng lệnh hiện truyền tường minh danh sách phạm vi unit - Sửa hai lỗi chính tả chỉ thị
NO_VCL/NOVCLtrong trình kết xuất và xuất bitmap Cairo, vốn chỉ lộ ra khi cấu hình NOVCL Windows thực sự được biên dịch
Version 3.426.0
Added
- Kết xuất trang hiện có thể mô phỏng overprint mực quy trình và mực đặt tên qua các API Delphi, DLL và ActiveX khả cấu hình
Changed
- Trạng thái đồ họa mở rộng hiện bảo toàn ngữ nghĩa cộng dồn của
/OP,/opvà/OPM, trong khi hợp nhất pixel có giới hạn vẫn giữ các kênh mực chồng lấn trên trình kết xuất GDI+ và Cairo
Version 3.425.0
Added
- Trích xuất ảnh hiện bảo toàn các đoạn trang và toàn cục JBIG2 trong file độc lập và giữ phần dữ liệu fax CCITT trong bộ bao TIFF độc lập
- Một bản kê loại trùng ảnh chỉ đọc nhóm các bản trùng mã hóa chính xác theo digest, định danh đối tượng, mức dùng trang và số byte dữ liệu có thể thu hồi, cho Delphi, DLL và ActiveX
Changed
- Danh sách ảnh trang hiện nhận diện phần dữ liệu JPX và JBIG2 bản địa mà không buộc giải nén bitmap, kể cả các stream ảnh tiếp cận qua Form XObject lồng nhau
Version 3.424.0
Added
- Các API file liên kết mức tài liệu hiện tạo, liệt kê, ánh xạ, thêm và gỡ thành viên
/AFcủa catalog cho Delphi, DLL và ActiveX - Chú thích RichMedia có thể tái sử dụng file nhúng hoặc file liên kết sẵn có, giữ một phần dữ liệu phương tiện dùng chung giữa bảng đính kèm và đồ thị tài sản của chú thích
Changed
- Việc tạo file liên kết chấp nhận file, stream Delphi, chuỗi nhị phân, bộ đệm DLL và mảng byte ActiveX, vẫn bảo toàn checksum, mô tả, siêu dữ liệu quan hệ và byte 0 nhị phân
- Gỡ một file nhúng giờ cũng gỡ các tham chiếu file liên kết catalog khớp để tài liệu đã nạp không thể giữ mục
/AFtreo lơ lửng
Version 3.423.0
Added
- Các API nội dung tùy chọn hiện dựng nhãn bảng lớp lồng nhau và nhánh nhóm cho Delphi, DLL và ActiveX
- Các API tạo nhóm nút chọn, thành viên, gỡ bỏ và kiểm tra bổ sung điều khiển lớp loại trừ lẫn nhau cho quy trình CAD và bản đồ
Changed
- Cập nhật lớp bị khóa giờ báo cáo thành công, các cấu hình xen kẽ dùng định danh dựa một đúng chuẩn, còn hệ thống lớp malformed được duyệt với cơ chế bảo vệ vòng lặp có giới hạn
- Xóa một nhóm nội dung tùy chọn gỡ tham chiếu của nó khỏi cấu trúc thứ tự lớp, trạng thái, khóa, nút chọn và trạng thái tự động trong mọi cấu hình
Version 3.422.0
Added
- Các API chú thích 3D PRC nhúng mô hình từ file, stream, chuỗi bộ nhớ, bộ đệm DLL và mảng byte ActiveX, với khung nhìn mặc định đặt tên và chính sách kích hoạt tường minh
- Chú thích PRC hỗ trợ tài liệu kỹ thuật PDF/A-4e, đồng thời tự động nâng đầu ra thường lên PDF 2.0
Changed
- Chú thích PRC và U3D hiện gồm đầy đủ khung nhìn 3D, từ điển kích hoạt và ngừng kích hoạt, cờ chú thích in được, tên xen kẽ và một hình dáng thường
- Nhúng U3D kiểu cũ từ chối các hồ sơ PDF/A không cho phép chú thích 3D và chấp nhận PDF/A-4e
Version 3.421.0
Đã thêm
- Các API phân đoạn tài liệu bổ sung
/DPartRootPDF 2.0,/DPartsphân cấp, lá dải trang, cấp bản ghi, tên cấp và siêu dữ liệu/DPMđã xác thực trên các client Delphi, DLL và ActiveX - Các API kiểm tra và vòng đời hiển thị xác thực hệ phân cấp, số phân đoạn với tới được, tra cứu trang-thành-phân-đoạn, các vòng khứ siêu dữ liệu và xóa hoàn toàn hệ phân cấp
Đã thay đổi
- Các tập con lớn dùng các khối mảng có giới hạn trong khi xác thực kiểm tra liên kết cha, chu kỳ, độ sâu lá đồng nhất, độ phủ trang đầy đủ có thứ tự, liên kết trang ngược, token tên XML và các đồ thị siêu dữ liệu có giới hạn
- Tạo hệ phân cấp phân đoạn tài liệu nâng đầu ra lên PDF 2.0 và tham gia vào phát hiện tính năng của tài liệu đã nạp cùng khóa phiên bản lưu
Version 3.420.0
Added
DrawHTMLStorythêm dòng chảy HTML có kiểu dáng cấp cao qua các cột bằng chiều rộng và các trang sinh tự động, cho Delphi, DLL và ActiveX- Giới hạn trang hữu hạn trả về chuỗi tiếp nối tái sử dụng được, bảo toàn tầng xếp stylesheet đang bật, trạng thái kiểu dáng lồng nhau, khối có cấu trúc, bảng, liên kết, ánh xạ phông và gắn kết ảnh
Changed
- Trang story được sinh kế thừa kích thước thực dụng của trang bắt đầu được chọn và mỗi cột tái sử dụng các kế hoạch bố cục đo-va-phát-lại từ đệm
- Bố cục story từ chối hình học không hợp lệ, giới hạn số cột và trang sinh, và chấm dứt khi các khung liên tiếp không thể tiến triển
Version 3.419.0
Added
TPDFlibPrinterthêm một mặt tiền thành phần VCL với các phương thức vòng đờiBeginDoc,Canvas,NewPage,EndDocvàAbortđể tạo PDF trực tiếp- Tác vụ in PDF hỗ trợ kích thước giấy, hướng dọc hay ngang, DPI canvas, tùy chọn nhập vector, tiêu đề tài liệu và khả năng xuất thẳng ra file, tất cả khả cấu hình
Changed
- Mỗi tác vụ của thành phần sở hữu một tài liệu PDF độc lập, ghi canvas đầu tiên và các canvas sau với ngữ nghĩa trang nhất quán, và giữ đầu ra hoàn tất để thư viện xử lý tiếp
- Thành phần không bao giờ mở hộp thoại in hay truy cập spooler của hệ điều hành, cho phép mã vẽ canvas VCL sẵn có chuyển tiếp mà không phụ thuộc máy in vật lý
Version 3.418.0
Added
RenderPagesToPrintStream,RenderPagesToPrintString,RenderPagesToPrintFile,RenderPagesToPrintDatavàRenderPagesToPrintBufferthêm đầu ra in không phụ thuộc trình điều khiển, cho Delphi, DLL và ActiveX- Miền trang được chọn có thể phát thành PostScript Level 3, EPS đơn trang, PCL 5c hoặc PWG Raster, kèm điều khiển tùy chọn đơn sắc, in hai mặt, tumble và đóng khung tác vụ PCL
Changed
- PostScript và EPS bảo toàn nội dung vector của trang, trong khi PCL và PWG Raster dùng bộ mã hóa hàng có giới hạn cho việc phân phối thẳng tới server và thiết bị nhúng
- Stream in được tạo ra mà không mở máy in, không hiển thị hộp thoại in và không gửi công việc vào spooler hệ điều hành
Version 3.417.0
Added
ExportPageSVGvàExportPageSVGToFilethêm xuất trang khả mở rộng, cho Delphi, DLL và ActiveX- Đầu ra SVG có thể độc lập gồm các đường vẽ bản địa, văn bản tìm được, ảnh PNG nhúng, liên kết chú thích bấm được và nền trang trong suốt
Changed
- Đường vẽ của trang giữ nguyên phép biến đổi, hình dáng tô và nét, độ mờ đục, kiểu đường, quy tắc even-odd và biên cắt hiệu dụng, mà không phải quét hóa toàn bộ trang
- Mỗi trang được xử lý theo các lượt có giới hạn và tạo một tài liệu SVG tự chứa, không phụ thuộc ảnh bên ngoài
Version 3.416.0
Added
DrawSVG,DrawSVGFromFile,GetSVGWidthvàGetSVGHeightthêm đặt và đo vector SVG bản địa, cho Delphi, DLL và ActiveX- Vẽ SVG hỗ trợ view box, căn theo tỉ lệ khung hình, nhóm, định nghĩa và tái sử dụng, phép biến đổi, cắt gọn, CSS đơn giản và kiểu nội dòng, độ mờ, đường có cung ellipse, cùng các hình chữ nhật, tròn, ellipse, đoạn thẳng, polyline và polygon chuẩn
Changed
- Hình học SVG được ghi thành đường PDF khả mở rộng không dùng image XObject quét hóa, còn các lượt đo và vẽ lặp lại tái sử dụng cây SVG có giới hạn được phân tích gần nhất
- Đầu vào SVG không tin cậy bị giới hạn theo kích thước nguồn, số phần tử và độ sâu lồng, không truy cập tài nguyên ngoài, và dùng điểm dừng màu đầu tiên làm phương án dự phòng màu đặc xác định cho các paint server gradient
Version 3.415.0
Added
DrawFormula,GetFormulaWidthvàGetFormulaHeightthêm bố cục toán học lồng nhau, cho Delphi, DLL và ActiveX- Đánh dấu công thức hỗ trợ phân số chồng, chỉ số trên và dưới đồng thời, căn bậc hai kèm chỉ số tùy chọn, chữ cái Hy Lạp, ký hiệu toán học phổ biến, ký tự thoát, nhóm văn bản và độ lồng có giới hạn
Changed
- Văn bản công thức dùng phông, cỡ chữ, màu, định hình và chuỗi dự phòng đã chọn, còn quy tắc phân số và dấu căn vẫn là nội dung vector
- Các lượt đo và vẽ lặp lại tái sử dụng cây hộp đã phân tích và đo, trong khi tài liệu, tỉ lệ đo và toàn bộ trạng thái trình vẽ giữ nguyên
Version 3.414.0
Added
MarkdownToHTML,DrawMarkdownText,DrawMarkdownTextBox,GetMarkdownTextHeight,GetMarkdownTextWidthvàGetMarkdownTextLineCountthêm chuyển đổi, đo lường, vẽ Markdown trực tiếp cùng khả năng tiếp nối giới hạn chiều cao, cho Delphi, DLL và ActiveX- Đầu vào Markdown hỗ trợ tiêu đề ATX và setext, đoạn văn, trích dẫn khối, danh sách có thứ tự và không thứ tự, bảng pipe có căn lề, mã hàng rào và thụt lề, nhấn mạnh, chữ đậm, gạch ngang, liên kết, ảnh, liên kết web tự động, ký tự thoát và ngắt dòng cứng
Changed
- Các lượt đo và vẽ Markdown lặp lại tái sử dụng HTML đã chuyển đổi và bộ đệm bố cục HTML có giới hạn, còn ngoặc nhọn thô vẫn là văn bản đã thoát
DrawMarkdownTextBoxtrả về token tiếp nối không trong suốt được chính phương thức đó chấp nhận, để trạng thái nội dòng dựng dở có thể tiếp tục trên trang khác
Version 3.413.0
Changed
- Đo lường và vẽ HTML hiện dùng chung các kế hoạch bố cục có giới hạn, lưu đệm việc phân tích, phân giải CSS, hình học dòng và bảng, ảnh, nền có kiểu dáng cùng liên kết
- Các lời gọi
GetHTMLTextHeight,GetHTMLTextWidthhoặcGetHTMLTextLineCounttương ứng có thể cung cấp dữ liệu choDrawHTMLTextmà không lặp lại công đoạn phân tích hay bố cục HTML
Fixed
- Đo HTML với nền văn bản có kiểu dáng không còn ghi toán tử hình chữ nhật vào content stream của trang được chọn
Version 3.412.0
Added
BeginDeferredPageLayer,EndDeferredPageLayer,ComposeDeferredPageLayers,CancelDeferredPageLayersvàGetDeferredPageLayerCountcung cấp hợp xếp z-index hoãn lại, cho Delphi, DLL và ActiveX- Các lớp âm kết xuất bên dưới nội dung trang sẵn có, còn lớp 0 và dương kết xuất phía trên, với thứ tự ghi ổn định cho các giá trị z-index bằng nhau
Changed
- Các lớp hoãn được giữ dưới dạng Form XObject cỡ trang và hợp xếp qua đúng một thao tác đặt cho mỗi lớp, không cần phân tích hay phát lại các lệnh vẽ của chúng
Version 3.411.0
Đã thêm
SetPageHeaderFooterVariant,ApplyPageHeaderFooterSetvàClearPageHeaderFooterSetcung cấp các template đầu và chân chạy có tên dùng lại được với các biến thể trang-đầu, trang-lẻ, trang-chẵn và mặc định- Các biến thể đầu và chân trang có thể hiển thị văn bản thuần với phông hiện tại hoặc HTML phong phú với đo chiều cao tự động, mở rộng biến theo từng trang, căn chỉnh, lề và độ mờ trên các client Delphi, DLL và ActiveX
Đã thay đổi
- Các đầu và chân chạy được sinh là các artifact phân trang, giữ trạng thái trang và trạng thái vẽ của bên gọi, và hỗ trợ các biến thể trống tường minh chặn dự phòng cho trang tiêu đề hoặc trang mở-mục
Version 3.410.0
Added
StartPageNumberChapter,AddPageNumberPlaceholdervàResolvePageNumberPlaceholderscung cấp quy trình hai lượt cho số trang cuối cùng của tài liệu và chương ngay trong văn bản thân thường- Mẫu phân trang hỗ trợ số trang vật lý, tổng số trang cuối cùng của tài liệu, tên chương, số trang tương đối theo chương và tổng số trang cuối của chương, cho Delphi, DLL và ActiveX
Fixed
- Hộp văn bản chuỗi rộng hiện chuyển văn bản được cung cấp cho bộ máy ngắt dòng thay vì tạo hộp rỗng
Version 3.409.0
Added
AutoFitTableColumnsgán chiều rộng cột bảng từ nội dung ô có kiểu dáng, vẫn tôn trọng chiều rộng bảng chính xác và giới hạn từng cột do bên gọi định nghĩa- Delphi, DLL và ActiveX dùng chung hành vi tự động định cỡ bảng, kể cả ràng buộc ô trộn
Changed
- Việc định cỡ tự động thành công vô hiệu hóa các phép đo hàng trong đệm, còn ràng buộc chiều rộng bất khả thi thì để nguyên mọi cột hiện có
Version 3.408.0
Added
DrawTextFlowColumnsdẫn một đoạn văn bản được giữ qua 1 đến 64 cột bằng chiều rộng, với rãnh giữa khả cấu hình và tùy chọn cân bằng vùng cuối- Client DLL và ActiveX giờ có thể tạo, vẽ, đo, kiểm tra, tua lại và giải phóng handle TextFlow qua trọn vòng đời công khai
Changed
- Các cột cân bằng dùng số dòng chính xác khi đoạn còn lại vừa khít, còn vùng tràn giữ nguyên chiều cao cột đầy đủ để tối đa dung lượng trang
Version 3.407.0
Added
- Kết xuất văn bản HTML hiện hỗ trợ stylesheet nhúng, CSS nội dòng, tiêu đề, khối cấu trúc, bảng có cột trộn và ảnh gắn với tài liệu
SetHTMLImagevàClearHTMLImagescung cấp điều khiển Delphi, DLL và ActiveX tương ứng cho các nguồn ảnh HTML tái sử dụng được
Changed
- Đo lường và vẽ HTML hiện dùng chung quyết định tầng xếp và bố cục đã phân giải, hàng bảng tiếp diễn nguyên vẹn qua các hộp văn bản, và trạng thái tiếp nối bảo toàn định dạng CSS lồng nhau
Version 3.406.0
Added
- TextFlow hiện hỗ trợ ngắt gạch nối tự động có giới hạn và nhận thức ngôn ngữ cho tiếng Anh, Đức, Hà Lan, Pháp, Tây Ban Nha, Ý, Bồ Đào Nha, Nga và Thổ Nhĩ Kỳ, kể cả kế thừa ngôn ngữ từ giá trị
/Langcủa Catalog tài liệu SetTextFlowLanguagevàSetTextFlowHyphenationcung cấp điều khiển Delphi, DLL và ActiveX tương ứng cho ngôn ngữ và độ dài tiền tố hay hậu tố tối thiểu
Changed
- Ngắt dòng TextFlow hiện đo từ trọn vẹn, chỉ dùng tìm kiếm có giới hạn cho token quá khổ, và chỉ vẽ gạch nối mềm tùy ý hay tự động khi điểm ngắt được chọn
Version 3.405.0
Added
- Dự phòng phông tự động hiện phân giải các cụm CJK, ký hiệu, toán học, chữ viết phức tạp và emoji còn thiếu qua các mặt phông đã cài đặt trong đệm, vẫn bảo toàn định hình và thứ tự chuồng hai chiều
SetAutomaticFontFallback,AddFontFallbackvà các API kiểm tra chuỗi dự phòng cung cấp điều khiển Delphi, DLL và ActiveX tương ứng
Changed
- Vẽ văn bản và đo chiều rộng hiện dùng chung quyết định dự phòng theo cụm, và chỉ nhúng lười các phông dự phòng thực sự được chọn cho đầu ra
Version 3.404.0
Added
- Glyph thiếu hiện được phát hiện ở dạng vô hướng Unicode trong văn bản thường và đã định hình, giữ trong báo cáo JSON có giới hạn, và lộ ra qua callback Delphi, DLL và ActiveX
SetMissingGlyphPolicycó thể giữ hành vi bỏ-qua-và-báo cáo tương thích hoặc từ chối thao tác văn bản trước khi nội dung được ghi vớiLastErrorCode 521
Version 3.403.0
Added
GetAPIScopeReportJSONvàClearAPIScopeReportcung cấp chẩn đoán xác định thời gian chạy và content stream qua API Delphi, DLL và ActiveX- Các chuyển tiếp không hợp lệ về đường vẽ, trạng thái đồ họa, cập nhật trang, nội dung đánh dấu, biểu mẫu, pattern, trang, tài liệu và hoàn tất đầu ra giờ thất bại ngay lập tức với
LastErrorCode 117
Version 3.402.0
Added
AnalyzePageSkewJSON,DeskewPagevàDeskewPageRangephát hiện và hiệu chỉnh độ xoay của trang quét qua API Delphi, DLL và ActiveX- Phân tích deskew dùng raster độ phân giải thích nghi có giới hạn và chấm điểm hồ sơ dòng từ thô đến tinh, còn việc hiệu chỉnh bảo toàn nội dung PDF gốc kèm chế độ phủ trang tùy chọn
Version 3.401.0
Added
DetectPageBarcodesJSONnhận diện mã vạch một chiều và hai chiều từ toàn bộ trang PDF hoặc một vùng trang có giới hạn, trả về văn bản, bộ ký hiệu, hướng, tính hợp lệ, các điểm góc và khung bao dạng JSON xác định- Quét vùng chỉ kết xuất đúng các pixel được yêu cầu, bảo toàn trang đang chọn, hỗ trợ mặt nạ tùy chọn định dạng và bộ giải mã, đồng thời cung cấp API Delphi, DLL và ActiveX tương ứng
Version 3.400.0
Added
SaveDOCXToStreamvàSaveDOCXToFilechuyển miền trang PDF thành đoạn WordprocessingML chỉnh sửa được, tiêu đề suy đoán, danh sách bullet và đánh số bản địa, bảng phát hiện được, kiểu dáng phông chữ, ngắt trang và ảnh PNG định vị- Bộ ghi gói DOCX xác định dùng các mục Deflate thô đã kiểm CRC mà không cần tự động hóa Office, ghi dữ liệu ảnh ngay khi từng trang được xử lý, bảo toàn thứ tự trang tường minh và phục hồi trang PDF đang chọn
Version 3.399.0
Added
ExportPageMarkdownvàExportDocumentMarkdownchuyển nội dung trang ngữ nghĩa thành đoạn Markdown đã thoát ký tự, tiêu đề suy đoán, danh sách có thứ tự hoặc không, và bảng pipe kèm dấu trang tùy chọn cùng kiểu dáng phôngSaveMarkdownToStreamvàSaveMarkdownToFileghi UTF-8 từng trang một mà không đệm toàn bộ đầu ra tài liệu, trong khi các điểm vào DLL và ActiveX tương ứng cung cấp quy trình xuất chuỗi và file
Version 3.398.0
Added
ExportPageHTMLvàExportDocumentHTMLtạo HTML5 tự chứa với văn bản định vị, ảnh PNG nhúng, liên kết URI và neo trang nội bộ- Xuất tài liệu bảo toàn thứ tự miền trang tường minh, phục hồi trang đang chọn, chỉ giữ một mô hình trích xuất trang tại mỗi thời điểm, và cung cấp API Delphi, DLL và ActiveX tương ứng
Version 3.397.0
Added
ExtractStructuredPagevàExtractStructuredDocumentbiến văn bản trang thành hệ thống cấp đoạn, dòng, span, bảng, hàng và ô, đồng thời xuất cùng mô hình đó ra JSON, XHTML ngữ nghĩa hoặc CSV cho bảng phát hiện được- Trích xuất tài liệu chỉ giữ một hệ thống cấp trang tại mỗi thời điểm, phục hồi trang đang chọn, và cung cấp điểm vào Delphi, DLL và ActiveX tương ứng
Version 3.396.0
Added
ApplyOCRTextLayernhận JSON OCR trung lập nhà cung cấp và nối thêm văn bản vô hình đã lọc theo độ tin cậy, khớp khung bao, giúp trang quét tìm được mà không thay đổi pixel kết xuấtOCRPage,OCRDocumentvàOnOCRPagecung cấp đường ống OCR cắm được, mỗi lần một trang, với bộ nhớ raster có giới hạn; bên gọi DLL và ActiveX có thể kết hợp kết xuất trang sẵn có vớiApplyOCRTextLayer
Version 3.395.0
Added
AddImageFromFilevàAddImageFromStreamhiện chấp nhận ảnh WebP; thư viện nhận diện container RIFF/WEBP và giải mã qua GDI+, vốn có sẵn bộ giải mã WebP tích hợp trên Windows 10 1809 trở lên
Version 3.394.0
Added
SetRenderTargetICCcho phép bên gọi cung cấp hồ sơ ICC đích để các phép biến đổi ICC của trình kết xuất ánh xạ màu nguồn qua hồ sơ proof CMYK thay vì sRGB mặc định, bật khả năng soft proof CMYK và xem trước dải màu
Version 3.393.0
Added
OptimizeImagesquét mọi ảnh nhúng, giải mã, mã hóa lại thành JPEG theo chất lượng do bên gọi chỉ định, và chỉ thay stream gốc ngay tại chỗ khi JPEG nhỏ hơn hoàn toàn — tự động thu nhỏ tài liệu quét và ảnh chưa nén, đồng thời bảo vệ các ảnh sẽ bị phình to
Version 3.392.0
Added
GetImageInfoJSONquét mọi image XObject trong tài liệu và trả về siêu dữ liệu từng ảnh (số đối tượng, kích thước pixel, không gian màu, số bit trên thành phần, bộ lọc) dạng JSON mà không giải mã bất kỳ dữ liệu pixel nào, nhờ đó việc kiểm kê ảnh chỉ tốn bộ nhớ theo số ảnh thay vì theo tổng số byte ảnh
Version 3.391.0
Added
- Ảnh JPEG2000 (JPXDecode) hiện được trích xuất bằng cách chuyển byte bản địa khi chế độ trích xuất hỗ trợ, giữ nguyên stream nén gốc mà không giải mã rồi mã hóa lại, tương đồng hành vi chuyển tiếp JPEG sẵn có
Version 3.390.0
Added
NewMultiStopAxialShadervàNewMultiStopRadialShadertạo gradient với số điểm dừng màu bên trong bất kỳ, trong mọi không gian màu PDF (DeviceRGB, DeviceCMYK, DeviceGray, ICCBased), dùng hàm nối Type 3 để chuỗi hóa từng đoạn một nội suy mũ Type 2- Bản ghi
TPDFGradientStopmới mang vị trí trong[0,1]và giá trị màu theo từng thành phần cho mỗi điểm dừng
Version 3.389.2
Changed
- Định hình văn bản phức tạp hiện lưu đệm SCRIPT_CACHE, HFONT và DC của Uniscribe theo từng phông trong suốt vòng đời tài liệu, nhờ đó các bảng cmap/GSUB/GPOS đã phân tích của phông tồn tại qua các lời gọi
DrawShapedTextthay vì bị tạo lại và giải phóng mỗi lần
Version 3.389.1
Changed
- Chuyển số thực thành chuỗi khi ghi content stream hiện dùng vòng lặp chữ số nội dòng với bảng lũy thừa mười tính sẵn, thay cho đường chung
Power+IntToStr+Insert, giảm đáng kể chi phí CPU khi sinh đồ họa mật độ cao mà đầu ra vẫn giống hệt từng byte
Version 3.389.0
Added
SetMemoryBudgetgiới hạn bộ nhớ tiêu thụ bởi tài liệu lớn bằng cách chặn ngưỡng kích thước stream đã giải mã và bộ đệm object-stream nén, giữ đỉnh bộ nhớ trong hạn mức do bên gọi đặt
Changed
- Bộ đệm object-stream nén của trình đọc truy cập ngẫu nhiên mặc định 50 mục thay vì tăng không giới hạn, nên việc chạm nhiều stream ObjStm không còn tích lũy nội dung giải mã vô hạn
Version 3.388.1
Changed
- Token tên PDF phân tích trong lúc nạp tài liệu hiện được intern vào một vùng băm theo cấu trúc, nên hàng triệu tên trùng lặp trong tài liệu lớn dùng chung một bộ đệm đếm tham chiếu thay vì cấp phát chuỗi mới; tra khóa từ điển rút gọn thành so sánh con trỏ
Version 3.388.0
Added
- Phông CFF, OpenType-CFF và CID-keyed hiện được tạo tập con lúc lưu qua chính dịch vụ
CreateFontPackagemà tạo tập con TrueType dùng, chỉ nhúng những glyph mà content stream thực sự vẽ, thu nhỏ đáng kể tài liệu CJK và OTF - Đầu ra CIDFontType0 đã tập con hiện mang stream
/CIDSetkhai báo những CID được nhúng, đáp ứng quy tắc PDF/A 00032 và kỳ vọng của trình đọc tuân thủ
Version 3.387.0
Added
SetRenderBandingkết xuất trang từng dải ngang một vào bitmap thấp, rồi ghép các dải thành đầu ra kích thước đầy đủ, nhờ đó trang DPI cao và khổ lớn giữ đỉnh bộ nhớ có giới hạn thay vì cấp phát một bitmap khổng lồGetRenderBandHeightbáo cáo chiều cao dải đang bật, hoặc 0 khi banding tắt- Các API kết xuất theo dải Delphi, DLL và ActiveX mới đưa quy trình này ra mọi bề mặt công khai
Version 3.386.0
Added
SetDisplayListCachingghi content stream của trang một lần duy nhất thành display list phát lại được, nên các lượt kết xuất sau ở bất kỳ mức thu phóng hay DPI nào bỏ qua bước token hóa lại; Form XObject và thủ tục glyph Type 3 mỗi thứ lưu đệm một danh sách riêngGetDisplayListCacheInfobáo cáo trạng thái bật của bộ đệm cùng số mục và bộ đếm trúng/trượt dạng JSON, cònClearDisplayListCacheloại bỏ các bản ghi và thu hồi bộ nhớ của chúng- Các API display-list Delphi, DLL và ActiveX mới đưa quy trình này ra mọi bề mặt công khai
Version 3.385.0
Added
StartRenderPageJobkết xuất trang trên tác vụ nền qua một thực thể cô lập, nhờ đó trang lớn không còn chặn luồng máy chủ trong lúc kết xuấtPauseRenderJob,ResumeRenderJobvàCancelRenderJobngắt một trang đang xử lý tại biên toán tử content stream, qua cờ hủy hợp tác và cổng tạm dừng được luồn vào trình kết xuấtWaitForRenderJob,GetRenderJobStatevàGetRenderJobResultbáo cáo tiến độ và kết quả tác vụ qua các mãRENDER_JOB_STATE_*- Các API tác vụ kết xuất Delphi, DLL và ActiveX mới đưa quy trình này ra mọi bề mặt công khai
Version 3.384.0
Added
DAOpenFromURLmở PDF từ xa qua HTTP bằng yêu cầu byte-range, chỉ tải những đối tượng mà trình đọc thực sự chạm tới, và tải trước phần trang đầu của tài liệu tuyến tính hóa để trang 1 kết xuất trướcGetLinearizedURLAccessPlanthăm dò URL từ xa bằng một yêu cầu range nhỏ duy nhất và trả về báo cáo JSON gồm tổng chiều dài, mức hỗ trợ byte-range, trạng thái tuyến tính hóa, số trang, đối tượng trang đầu và điểm kết thúc phần đó, khoảng stream gợi ý, cùng danh sách trộn các byte range mà trang 1 cần- Tùy chọn
PDF_NET_OPT_NO_WARMINGmới cùng các mã lỗiPDFLIB_ERROR_NET_OPEN,PDFLIB_ERROR_NET_RANGE_UNSUPPORTEDvàPDFLIB_ERROR_NET_HTTPđưa việc đọc mạng ra Delphi, DLL và ActiveX
Version 3.383.0
Added
SaveQDFToFilevàConvertFileToQDFtạo PDF chẩn đoán chỉnh sửa được bởi con người, với định dạng đối tượng dễ đọc, chú thích định danh đối tượng gốc, các content stream phổ biến được mở rộng và độ dài stream gián tiếp khả sửaRepairQDFFiletính lại độ dài stream đã chỉnh sửa và dựng lại dữ liệu tham chiếu chéo, trailer cùngstartxref, kể cả sửa tại chỗ- Các API QDF Delphi, DLL và ActiveX mới cùng tùy chọn
PDF_QDF_OMIT_ORIGINAL_OBJECT_IDSđưa quy trình này ra mọi bề mặt công khai
Version 3.382.0
Added
PDF_LINEARIZE_OBJECT_STREAMSbật đóng gói object stream có giới hạn và stream xref chính nén, mà vẫn giữ dữ liệu tham chiếu chéo trang đầu đọc trực tiếp được
Changed
SaveToFileOptionshiện bảo toàn việc đóng gói object stream khi bật đồng thờiLinearizevàPackObjectStreams
Fixed
LinearizeFilehiện hỗ trợ đường dẫn đầu vào và đầu ra trùng nhau mà không cắt cụt byte nguồn trước khi lượt tuyến tính hóa đọc chúng
Version 3.381.0
Added
ValidateLinearizationFilevàGetLinearizationValidationReportkiểm toán độc lập các từ điển Fast Web View, miền gợi ý và bảng bit, phụ thuộc trang đầu cùng biên byte, số trang và mục tham chiếu chéo chính
Fixed
- Đầu ra tuyến tính hóa hiện ghi các bảng gợi ý offset trang và đối tượng dùng chung kiểu MSB-first xác định, với vector canh byte, độ dài trang chính xác và offset tương đối theo gợi ý
- Các bảng gợi ý được sinh không còn chứa bề rộng bit ngẫu nhiên, trường little-endian, hàng nhóm dùng chung thiếu hoặc offset nội dung giữ chỗ từng khiến trình đọc tuân thủ từ chối dữ liệu Fast Web View
Version 3.380.0
Added
- Stream Flate lớn hiện có thể nén và giải nén qua từng mảnh có giới hạn, kể cả trích xuất streaming trực tiếp qua
GetEmbeddedFileContentToStreamvàGetEmbeddedFileContentToFile
Changed
- Lưu các stream mã hóa RC4, AES-CBC và AES-GCM lớn hiện ghi bản mã thẳng tới đích với độ dài tính sẵn chính xác, thay vì dựng rồi giải mã toàn bộ bản sao tạm
- Nhập file nhúng lớn nén tăng dần vào stream lưu trữ, còn các lần lưu có mã hóa lặp lại bảo toàn byte nguồn trong bộ nhớ và siêu dữ liệu stream
Version 3.379.0
Added
StartEditJournal, biên giao dịch tường minh, rollback, undo, redo, đặt lại lịch sử, truy vấn trạng thái và phục hồi sau sự cố đều sẵn sàng cho bên gọi Delphi, DLL và ActiveX- Nhật ký bền vững nối thêm các bản ghi trạng thái và con trỏ PDF có checksum độc lập, đẩy bản ghi trọn vẹn xuống lưu trữ, và phục hồi commit trọn vẹn cuối cùng khi phần ghi cuối thiếu hoặc hỏng
Changed
- Undo, redo, rollback và phục hồi bảo toàn handle tài liệu đang chọn, đồng thời vô hiệu hóa các handle tạm thời mà đối tượng tài liệu bên dưới đã bị thay thế
- Bộ nhớ undo bị giới hạn bởi số bước cấu hình, ảnh chụp chỉ tuần tự hóa tại biên giao dịch, và mật khẩu tài liệu không bao giờ được ghi vào nhật ký phục hồi
Version 3.378.0
Added
ConvertTextToPathschuyển văn bản phông đường viền và chương trình glyph Type 3 thành Form XObject vector tái sử dụng được, trên các trang được chọn và cả Form lồng nhau- Bên gọi Delphi, DLL và ActiveX có thể chọn chuyển đổi Form đệ quy và dọn dẹp tự động tài nguyên phông nguồn
Changed
- Nội dung đã chuyển giữ vị trí văn bản, khoảng cách, chế độ ghi, phép biến đổi, màu và thiết lập nét vẽ, đồng thời loại bỏ các toán tử hiển thị văn bản gốc
- Chế độ kết xuất cắt theo văn bản và phạm vi tài nguyên dùng chung mơ hồ bị từ chối trước khi bất kỳ đối tượng tài liệu nào bị sửa đổi
Version 3.377.0
Added
CopyPageRangesExchấp nhậnPDF_COPY_PAGE_SMART_RESOURCESđể tái sử dụng các phông, ảnh, không gian màu, pattern, shading và trạng thái đồ họa tương đương đã có trong tài liệu đíchPDF_COPY_PAGE_KEEP_ORDERđặt tên cho tùy chọn nhân trang theo thứ tự sẵn có và có thể kết hợp với sao chép tài nguyên thông minh
Changed
- Sao chép trang thông minh chuẩn hóa số đối tượng, thứ tự khóa từ điển, cách viết số và độ dài stream trước khi băm, xác nhận mọi cặp khớp về cấu trúc, và bỏ qua đồ thị tuần hoàn hoặc nhạy cảm định danh
CollateDocumentsExhiện áp dụng tái sử dụng tài nguyên ngữ nghĩa trên các tài liệu nguồn mà không cấp phát trước đồ thị tài nguyên trùng lặp
Version 3.376.0
Added
TrimPageContentToCropBoxloại bỏ hoàn toàn các chuỗi văn bản cấp đầu, đường vẽ, vị trí đặt ảnh và lời gọi Form XObject nằm trọn bên ngoài CropBox của trangTPDFContentProgram.TraceGraphicsStatePairsghi trạng thái trước-và-sau của từng chỉ thị trong một lượt phát lại, đồng thời tiếp nối tracker do bên gọi sở hữu qua các lớp nội dung- Bên gọi Delphi, DLL và ActiveX có thể áp dụng lề có dấu khi cắt phần tràn trang và giảm nội dung được giữ lại
Changed
- Việc cắt theo CropBox bảo toàn các đối tượng giao nhau hoặc chưa phân giải, đường cắt, chế độ cắt văn bản và phần nội bộ Form dùng chung, vẫn giữ bước tiến tương đối của văn bản sau các chuỗi bị loại
Version 3.375.0
Added
TPDFStructurecung cấpDecodeMaxDepth,LastDecodeStatusvàLastDecodePositioncho việc phân tích đối tượng cấp thấp có giới hạn cùng chẩn đoán giới hạn chính xác
Changed
- Mảng và từ điển PDF hiện được phân tích qua một ngăn xếp trạng thái tường minh có giới hạn, kể cả toán hạng lồng nhau trong content stream của trang
Security
- Đối tượng trực tiếp không tin cậy sâu hơn giới hạn vùng chứa mặc định 256 bị từ chối trước khi kịp cạn kiệt ngăn xếp luồng
Version 3.374.0
Added
AddType3Fonttạo phông Type 3 khả lập trình với ma trận và biên phông do bên gọi định nghĩaAddType3Glyphghi chương trình đồ họa glyph mã hóa byte, kèm độ đo, mã hóa, bề rộng và bản đồ trích xuất Unicode tự độngAddType3FontResourceđưa phông, ảnh, trạng thái đồ họa, shading và các tài nguyên gián tiếp khác vào trong chương trình glyph- Bên gọi Delphi, DLL và ActiveX có thể tạo phông Type 3 cho ký hiệu, con dấu và mục đích đặc biệt mà không cần cài đặt hay nhúng chương trình phông ngoài
Changed
- Việc cập nhật glyph Type 3 dựng lại ngay tại chỗ các bảng phóng sinh nhỏ gọn, vẫn giữ handle phông mà tài nguyên trang hiện có đang dùng
Version 3.373.0
Added
- Con trỏ cây cấu trúc di chuyển giữa cha, con và anh em mà vẫn giữ định danh phần tử qua các lần sửa chữa và sắp xếp lại
ReparentStructTreeCursordi chuyển hoặc sắp xếp lại phần tử cấu trúc, từ chối tự làm cha và vòng lặp hậu duệNormalizeStructTreechuẩn hóa tập con, sửa liên kết cha, nâng phần tử trực tiếp lên và loại bỏ cạnh không hợp lệ, trùng lặp hoặc tuần hoàn
Changed
- Việc sửa cây cấu trúc bảo toàn quyền sở hữu nội dung đánh dấu và ánh xạ parent-tree, giúp các chỉnh sửa hệ thống cấp an toàn cho những lần lưu sau
Version 3.372.0
Added
EnumeratePageElementstrả về handle ngắn hạn ổn định cho nội dung văn bản, ảnh và đường vẽ khả chỉnh sửaDeletePageElementgỡ một đối tượng đã liệt kê mà vẫn giữ định vị tương đối của văn bản phía sauTransformPageElementghi ma trận afin bao quanh đối tượng được chọn mà không đổi nội dung không liên quan
Changed
- Các handle phần tử chỉnh sửa xác thực dấu vân tay nội dung gốc và từ chối đột biến cũ hoặc mơ hồ
Version 3.371.0
Added
ExportObjectJSONstream hóa toàn bộ trailer và đồ thị đối tượng gián tiếp thành JSON có kiểu xác định và khả nghịchImportObjectJSONkiểm tra, hợp nhất đồ thị đối tượng hoặc thay trọn bộ đối tượng gián tiếpGetObjectJSONvàSetObjectJSONcung cấp kiểm tra và cập nhật từng đối tượng nguyên tử qua Delphi, DLL và ActiveX
Changed
- JSON đồ thị đối tượng bảo toàn tên nhị phân, khóa từ điển, chuỗi, stream, thế hệ tham chiếu, kiểu vô hướng và thứ tự số đối tượng, không có phép ép kiểu JSON mơ hồ
Version 3.370.0
Added
- Bộ nạp mô hình Arlington TSV đã biên dịch cung cấp handle ổn định tái sử dụng được cùng số định nghĩa và số quy tắc
- Kiểm tra cú pháp theo mô hình xét các khóa đối tượng, mục bắt buộc, kiểu, mức sẵn có theo phiên bản PDF, tham chiếu trực tiếp và gián tiếp, giá trị cho phép cùng đồ thị đối tượng liên kết
- Các API Delphi, DLL và ActiveX kiểm tra file hoặc đường ống kiểm tra chia sẻ sẵn có và trả về danh sách chẩn đoán có cấu trúc
Changed
- Kiểm tra cú pháp tái sử dụng bộ đệm phân tích và đối tượng dùng chung, chọn liên kết mơ hồ theo dấu phân biệt đối tượng, và dẹp các lượt thăm định nghĩa đối tượng trùng lặp
Version 3.369.0
Added
- Các đường ống kiểm tra tái sử dụng được mở và phân tích PDF một lần, sau đó chạy tác vụ PDF/A và PDF/UA hoặc dựng báo cáo kết hợp trên trình đọc và bộ đệm đối tượng chia sẻ
- Các API Delphi, DLL và ActiveX cung cấp tạo đường ống, chạy tác vụ, sinh báo cáo, kiểm tra số lần phân tích và giải phóng tường minh
Changed
CreatePreflightReportvàCreateValidationReportdùng chung một lần phân tích và bộ đệm đối tượng lười khi chọn nhiều kiểm tra tuân thủ
Version 3.368.0
Added
AddStructureNamespaceđăng ký không gian tên cấu trúc PDF 2.0 và ghi các từ điển/Namespacedùng chung quaStructTreeRoot/NamespacesAddRoleMapNSánh xạ kiểu cấu trúc tùy chỉnh trong một không gian tên hoặc qua các không gian tên đã đăng ký- Bộ chọn không gian tên mặc định và theo phần tử, truy vấn không gian tên, xuất DLL và phương thức ActiveX đưa ra trọn quy trình
Changed
- Các chế độ tiếp cận PDF/UA-2 và WTPDF tự động gán không gian tên cấu trúc chuẩn PDF 2.0 cho các phần tử cấu trúc hiện có và tương lai chưa được gán
GetStructTreeItemTextphân giải chuỗi/RoleMapNSvà trả về URI không gian tên của phần tử qua InfoID 9
Version 3.367.0
Added
SetPDFUA2Modebật siêu dữ liệu PDF/UA-2, phiên bản PDF 2.0, ngôn ngữ tài liệu, biện pháp bảo vệ nội dung đánh dấu và tùy chọn hiển thị tiêu đềSetWTPDFModekhai báo mức tiếp cận WTPDF 1.0, mức tái sử dụng hoặc cả hai, vẫn bảo toàn các PDF Declaration không liên quan- Các bộ đọc Delphi, DLL và ActiveX cho biết phần PDF/UA đang bật và mặt nạ khai báo WTPDF
Changed
- Chẩn đoán PDF/UA nhận diện phần 2, đòi hỏi
pdfuaid:rev=2024và áp dụng phiên bản PDF 2.0 tối thiểu
Version 3.366.0
Added
SetCryptFilterConfigurationchọn độc lập việc mã hóa cho chuỗi PDF, stream thường và stream file nhúng qua/StrF,/StmFvà/EFF- Các bộ đọc Delphi, DLL và ActiveX cho biết từng đích mã hóa đang chờ, trong khi thiết lập chỉ-mã-hóa-file-nhúng sẵn có vẫn tương thích
Changed
- Mã hóa AES bằng mật khẩu, khóa công khai và fingerprint dùng một chính sách crypt-filter, từ chối cấu hình không có đích được bảo vệ, và ngăn áp chính sách chọn lọc lên bộ xử lý RC4
Fixed
- Fingerprint mã hóa hiện phục hồi trọn bản ghi mã hóa của mình và lưu qua bộ ghi đối tượng bình thường, không cắt cụt tiền tố fingerprint hay mã hóa nội dung đối tượng hai lần
Version 3.365.0
Added
- Vỏ bọc không mã hóa PDF 2.0 có thể mang trọn một PDF đã mã hóa làm tài liệu bộ sưu tập ẩn ban đầu, kèm siêu dữ liệu encrypted-payload chuẩn
- Các API Delphi, DLL và ActiveX tạo, nhận diện, kiểm tra và trích xuất payload mã hóa từ dữ liệu file, chuỗi nhị phân, stream hoặc mảng byte
Changed
- Việc tạo vỏ bọc ngăn mã hóa lớp ngoài và PDF MAC, kiểm tra tên bộ xử lý, tránh để lộ đường dẫn nguồn và giữ nguyên chính xác từng byte payload
Version 3.364.0
Added
TPDFlibEUTSLTrustSourcexác minh chữ ký XML của LOTL EU và TSL quốc gia, cho thấy ảnh chụp dịch vụ đáng tin và cung cấp mỏ neo CA, TSA có nhận thức thời gianTPDFlibSignatureVerifierchấp nhận nguồn tin cậy ngoài và báo cáo trạng thái chứng chỉ đủ chuẩn, chữ ký điện tử, con dấu điện tử và QSCD kèm nguồn gốc dịch vụ
Changed
- Nạp danh sách tin cậy thất bại theo hướng an toàn khi gặp người ký chưa ghim, chữ ký tách rời hoặc mơ hồ, thuật toán yếu, digest bị đổi, lệch lãnh thổ, danh sách cũ, tiêu chí malformed, và đầu vào mạng hoặc XML không giới hạn
- Các lượt làm mới TSL đầy đủ mang tính giao dịch, còn động cơ chuỗi chứng chỉ kết hợp mỏ neo thủ công và từ nguồn, tái sử dụng theo phiên bản danh sách tin cậy và thời điểm xác minh
Version 3.363.0
Added
TPDFlibPKCS11Clientnạp mô-đun PKCS #11 2.x và 3.x, liệt kê token, xác thực người dùng, ghép cặp chứng chỉ với khóa riêng và ký digest PDF mà không cần đăng ký CSP hay KSP- Các kiểu token, slot, cơ chế, bảng hàm và callback hỗ trợ cả nạp mô-đun trực tiếp lẫn danh sách hàm do ứng dụng quản lý
Changed
- Ký RSA dựng
DigestInfoDER theo yêu cầu trước khi gọiCKM_RSA_PKCSthô, còn ký ECDSA chuyển đầu ra P1363 của token sang DER khi được yêu cầu - Thời gian sống mô-đun dùng chung, phiên bền vững, đường xác thực được bảo vệ, xác thực theo từng thao tác, số lần thử hot-plug có giới hạn và phục hồi phiên trước thao tác cải thiện độ tin cậy và thông lượng HSM
Version 3.362.0
Added
TPDFlibCSCClientkhám phá thông tin đăng nhập ký từ xa, lấy dữ liệu kích hoạt chữ ký buộc theo băm hoặc tải trước, và gửi chữ ký digest đơn lẻ hay theo lô qua CSC API- Client cắm thẳng vào
OnExternalDigestSign, nhờ đó chữ ký RSA và ECDSA DER từ xa tái sử dụng đường dựng CMS, định cỡ chữ ký và xác minh khóa công khai sẵn có
Changed
- Bộ vận chuyển HTTP tích hợp chấp nhận header yêu cầu do bên gọi cung cấp cho xác thực OAuth bearer, vẫn giữ giới hạn kích thước phản hồi và thời gian chờ theo pha
- Phản hồi thông tin đăng nhập, cấp quyền và chữ ký hiện từ chối trường JSON trùng hoặc malformed, dữ liệu X.509 hoặc Base64 không hợp lệ, thuật toán không hỗ trợ, cỡ lô không nhất quán, dữ liệu kích hoạt cũ và vi phạm buộc băm SCAL
Version 3.361.0
Added
VerifyAdESHistoricalvàVerifyAdESHistoricalByNametự động suy ra thời điểm kiểm soát lịch sử đáng tin từ dấu thời gian chữ ký và dấu thời gian tài liệu bao phủTPDFlibAdESHistoricalValidationReportcho thấy kết quả chuỗi theo yêu cầu và thực tế, nguồn và thời điểm bằng chứng, độ phủ lưu trữ, số dấu thời gian và trạng thái theo từng lỗi cụ thể
Changed
- Xác thực thu hồi lịch sử thất bại theo hướng an toàn trừ khi một dấu thời gian toàn tài liệu đáng tin niêm phong bằng chứng DSS và VRI hiện hành
- Thời điểm xác thực chứng chỉ và OCSP hiện đổi sang Windows file time với số học milli-giây nguyên chính xác, tránh trôi biên tại các chuyển tiếp hiệu lực chứng chỉ
Version 3.360.0
Added
SetSignatureFieldSeedValue,AddSignatureFieldSeedCertificatevàClearSignatureFieldSeedValuetạo và quản lý ràng buộc/SVchuẩn cho trường chữ ký chưa kýGetSignProcessSeedValueErrorbáo cáo chính xác ràng buộc filter, SubFilter, digest, lý do, thông tin thu hồi, chứng chỉ, phiên bản hoặc không hỗ trợ nào đã ngăn việc ký
Changed
- Ký hiện áp dụng seed-value bắt buộc của trường chữ ký sau khi mở định danh được chọn và trước khi thay đổi trường hay đích đầu ra
- Ràng buộc seed-value bắt buộc nhưng không hỗ trợ sẽ thất bại theo hướng an toàn, còn giá trị cho phép phân tách bằng dấu chấm phẩy và chứng chỉ người ký DER chính xác được áp dụng nhất quán qua API Delphi, DLL và ActiveX
Version 3.359.0
Added
AddSignProcessRevocationCRLvàAddSignProcessRevocationOCSPnhúng tư liệu xác thực vào thuộc tínhadbe-revocationInfoArchivalđược ký, cho chữ kýadbe.pkcs7.detachedtruyền thốngClearSignProcessRevocationInfogỡ toàn bộ tư liệu thu hồi kiểu lưu trữ khỏi tiến trình ký trước khi chữ ký được tạo
Changed
- Giá trị
BasicOCSPResponsetrơn được chuẩn hóa thành cấu trúcOCSPResponsethành công, còn CRL giống nhau từng byte và phản hồi OCSP đã chuẩn hóa được loại trùng - Thuộc tính thu hồi kiểu lưu trữ Adobe được hỗ trợ bởi cả Windows CryptoAPI lẫn các đường ký RSA, ECDSA, Ed25519, CNG và digest ngoài hiện đại
Version 3.358.0
Added
SetSignProcessContentsEstimateđịnh cỡ chỗ giữ chữ ký từ CMS cơ sở, chuỗi chứng chỉ trong đệm, tư liệu CRL và OCSP dự kiến, một token RFC 3161 mong đợi và biên an toàn khả cấu hìnhGetSignProcessEstimatedContentsBytesbáo cáo dung lượng byte thô đã canh chọn cho lần thử ký gần nhất
Changed
- Tiến trình ký mới tự động phát hiện thêm chỗ cho chuỗi chứng chỉ từ bộ đệm cục bộ, áp biên 15 phần trăm trước khi canh dung lượng
/Contentstheo bội 256 byte - Ký bằng CNG, HSM và digest ngoài hiện suy kích thước chữ ký RSA, ECDSA và Ed25519 từ chứng chỉ công khai thay vì dự trữ cố định payload nhà cung cấp 16 KiB
- Ước tính tự động không truy xuất mạng, không kích hoạt khóa riêng hay callback ký ngoài
Version 3.357.0
Added
SetSignProcessAppearanceTemplatedựng bố cục chữ ký hiển thị tái sử dụng được từ các chỗ giữ người ký, lý do, địa điểm, liên hệ, ngày, trường, trang và do ứng dụng định nghĩaSetSignProcessAppearanceVariablethêm giá trị tùy chỉnh không phân biệt hoa thường vào từng tiến trình ký riêng và có thể gỡ chúng mà không cần tạo lại tiến trình
Changed
- Mẫu chữ ký hiển thị hỗ trợ định dạng thời gian ký khả cấu hình và cặp ngoặc nhọn chữ thoát, vẫn bảo toàn quy tắc ưu tiên ảnh và dấu thời gian tài liệu sẵn có
- Triển khai mẫu dùng kích thước đầu vào có giới hạn và bộ đệm đầu ra tuyến tính khấu hao, nên bố cục tái sử dụng lớn không phải trả giá sao chép toàn chuỗi lặp đi lặp lại
Version 3.356.0
Added
TPDFlibSignatureVerifiercó thể thêm mỏ neo tin cậy X.509 dạng DER hoặc từ file, báo cáo số lượng đã loại trùng và xóa chúng mà không thay đổi kho chứng chỉ Windows
Changed
- Tập mỏ neo tin cậy tùy chỉnh không rỗng hiện dẫn dắt cả xác minh chứng chỉ người ký lẫn dấu thời gian RFC 3161 qua một động cơ gốc riêng trong bộ nhớ
- Xóa tập tùy chỉnh khôi phục động cơ tin cậy hệ thống mặc định cho các lần kiểm tra tiếp theo
Security
- Xác thực tin cậy tùy chỉnh loại trừ kho
RootvàTrustedPeoplecủa Windows, còn chứng chỉ nhúng trong PDF và DSS vẫn chỉ là tư liệu dựng chuỗi không đáng tin
Version 3.355.0
Added
SetSignProcessExternalDigestSignervà biến thể từ file của nó dựng chữ ký CMS tách rời quanh kết quả RSA hoặc ECDSA do bên ký ngoài cung cấpOnExternalDigestSign,DLSetExternalDigestSignCallbackvàSetExternalDigestSignCallbackcung cấp bề mặt callback đồng bộ Delphi, DLL và ActiveX cho tích hợp HSM và ký từ xa- Callback ECDSA ngoài có thể trả về chữ ký DER hoặc giá trị P1363
r || sbề rộng cố định
Changed
- Bên ký ngoài chỉ nhận digest cuối cùng của các thuộc tính đã xác thực CMS và được gọi một lần sau khi byte range và thuộc tính của PDF hoàn tất
- Định cỡ chỗ giữ dùng phần dự trữ chữ ký đã cấu hình mà không kích hoạt bên ký ngoài
- Chữ ký rỗng hoặc quá khổ không qua trung gian giờ khiến tiến trình ký thất bại thay vì ghi giá trị
/Contentsrỗng hoặc bị cắt cụt
Security
- Mọi chữ ký trả về từ bên ngoài đều được kiểm chứng với chứng chỉ X.509 đã cấu hình trước khi có thể ghi vào PDF
Version 3.354.0
Added
SetSignProcessCNGKeyvàSetSignProcessCNGKeyFromFileký bằng khóa NCrypt có đặt tên từ nhà cung cấp kho khóa phần mềm, TPM, token phần cứng hoặc đám mây, mà không xuất tư liệu khóa riêngSetSignProcessCNGKeyByHandlechấp nhậnNCRYPT_KEY_HANDLEdo bên gọi sở hữu cho quy trình khám phá khóa và chính sách do ứng dụng quản lýSetSignProcessPrivateKeyUIkiểm soát việc nhà cung cấp gắn với chứng chỉ có được hiển thị giao diện PIN, xác nhận, token hay phê duyệt đám mây hay không
Changed
- Khóa CNG đặt tên và mượn dùng một đường ký NCrypt trực tiếp cho chữ ký tách rời RSA và ECDSA trên các bộ digest SHA-1, SHA-2 và SHA-3
- Định cỡ chỗ giữ chữ ký CNG không còn thao tác khóa riêng sơ bộ, tránh lặp lời nhắc token, phê duyệt từ xa, mục audit hay phí nhà cung cấp
- Ký im lặng vẫn là mặc định, còn chế độ tương tác gỡ cờ thu nhận và ký im lặng để nhà cung cấp ngoài hoàn tất luồng xác thực của mình
Security
- Định danh CNG tường minh được kiểm tra nhóm thuật toán tương thích chứng chỉ, và chữ ký CMS hoàn tất được kiểm chứng với chứng chỉ cung cấp trước khi chấp nhận
Version 3.353.0
Added
- Chữ ký PDF tách rời có thể được tạo và xác minh với chứng chỉ ECDSA P-256, P-384 và P-521 dùng bộ digest SHA-1, SHA-2 hoặc SHA-3
- Ký Ed25519 chấp nhận chứng chỉ DER X.509 kèm seed thô hoặc khóa riêng PKCS #8 không mã hóa qua giao diện Delphi, DLL và ActiveX
SetSignProcessDigestAlgorithmchấp nhận SHA3-256, SHA3-384 và SHA3-512 dưới dạng mã thuật toán 5, 6 và 7
Changed
- Chữ ký tách rời hiện đại dùng bộ dựng CMS chuẩn tắc với định danh thuật toán digest và chữ ký canh theo tiêu chuẩn, thay vì dựa vào định danh do nhà cung cấp chọn
- Xác minh chữ ký hiện đại kiểm chứng digest nội dung tách rời, thuộc tính đã ký chuẩn tắc, định danh người ký nhúng và chữ ký khóa công khai, mà không cần hỗ trợ thuật toán CryptoAPI cũ
Security
- Xác minh Ed25519 từ chối vô hướng không chuẩn tắc, mã hóa điểm không chuẩn tắc, khóa bậc nhỏ, định danh chứng chỉ không khớp và thuộc tính đã ký bị sửa đổi
Version 3.352.0
Added
EncryptPublicKeytạo tài liệuAdobe.PubSecAES-128 hoặc AES-256 cho nhiều người nhận giữ chứng chỉ X.509 mà không cần mật khẩu chung- Người nhận có thể nạp từ DER, PEM, PKCS #12 PFX, kho chứng chỉ người dùng hiện hành hoặc kho chứng chỉ máy cục bộ, và có thể nhận mặt nạ quyền PDF độc lập
- Thông tin PFX và kho chứng chỉ mở tài liệu mã hóa khóa công khai qua các API nạp file, stream và chuỗi thông thường
- Số người nhận, số nhóm quyền, trạng thái xác thực và điều khiển vòng đời thông tin đăng nhập sẵn sàng qua giao diện Delphi, DLL và ActiveX
Fixed
- Việc sinh thư viện kiểu ActiveX hiện giữ nguyên các phương thức PDF/UA, tagged-PDF, artifact, ngôn ngữ tài liệu và file liên kết sẵn có, đồng thời nối thêm API khóa công khai mà không xê dịch các slot giao diện nhị phân đã định
DecryptFiletới được đường ghi lại AES-256 trực tiếp mà không cần tiền kiểm toàn trình đọc với tài liệu mã hóa thường, nhưng vẫn kiểm tra tín hiệu PDF MAC trước khi nội dung được bảo vệ được ghi lại
Security
- EnvelopedData CMS được xác thực bằng phân tích DER có giới hạn, nhóm quyền người nhận được xác thực bằng phần dữ liệu seed mã hóa của chúng, còn phong bì mơ hồ hoặc malformed bị từ chối với mã lỗi riêng
- Các người nhận cùng quyền được nhóm vào một phong bì để giảm kích thước đầu ra và khối lượng suy dẫn khóa, vẫn giữ vận chuyển khóa riêng theo từng chứng chỉ
Version 3.351.0
Added
SetPDFMACEnabledtạo token toàn vẹn PDF MAC độc lập cho tài liệu mã hóa AES-256 bản sửa đổi 6 và AES-GCM, gồm muối suy dẫn khóa bắt buộc, tín hiệu quyền, byte range và dữ liệu xác thực CMSGetPDFMACStatusvàValidatePDFMACcung cấp kết quả xác thực qua giao diện Delphi, DLL và ActiveX
Security
- Tài liệu được bảo vệ tự động xác minh sau xác thực mật khẩu và trước khi các trang được trưng ra; token thiếu, DER malformed, thuật toán không hỗ trợ, độ phủ thiếu, lỗi mở khóa và giá trị xác thực bị thay đổi đều bị từ chối với mã lỗi riêng
EncryptFile,EncryptFileExvàDecryptFilehiện bảo toàn đảm bảo PDF MAC qua các quy trình mã hóa mức file và giải mã có xác thực
Version 3.350.0
Added
Encrypt,EncryptFilevàEncryptFileExchấp nhận cường độ 5 để tạo tài liệu PDF 2.0 với mã hóa xác thực AES-GCM 256-bit, từ điển bảo mật bản sửa đổi 7 và khai báo mở rộng ISO TS 32003- Đường đọc và giải mã file mở tài liệu AES-GCM và bộc lộ chế độ mới qua
EncryptionAlgorithm,GetEncryptionLevelvàSecurityInfo
Security
- Lỗi xác thực AES-GCM giờ từ chối chuỗi hoặc stream bị thay đổi và khiến
DecryptFilexóa mọi đầu ra dở dang
Version 3.349.0
Changed
LinearizeFilehiện xếp thứ tự đồ thị đối tượng lớn bằng một lượt trộn ổn địnhO(n log n)và duyệt phụ thuộc gián tiếp bằng ngăn xếp công việc tường minh, tránh khối lượng xếp hạng bậc hai và một khung lời gọi cho mỗi đối tượng tiếp cận được
Fixed
- Phần trang đầu hiện gồm các từ điển chú thích cùng hình dáng, hành động và tài nguyên tiếp cận được của chúng, cho phép client Fast Web View hiển thị chú thích trang đầu mà không phải tải đối tượng từ ngoài biên trang đầu
Version 3.348.2
Fixed
- Thư viện hiện biên dịch không còn cảnh báo hay gợi ý trên bản dựng Win64. Bộ khởi tạo băm chuỗi FNV-1a vượt khoảng
Integer, nên bộ tích lũy chuyển sangCardinalvới kết quả che mạt giống hệt từng byte, và mười phép gán được trình biên dịch chứng minh không bao giờ được đọc — cùng một biến không dùng — đã bị loại bỏ. Không có hành vi thời gian chạy nào thay đổi
Version 3.348.1
Fixed
- Điều khiển trình xem biên dịch lại được trên Delphi XE5 và XE6. Bộ xử lý DPI theo màn hình của nó dùng
WM_DPICHANGED, một hằng số thông điệp màWinapi.Messageskhông có trước XE7, nên ma trận dựng trial — vốn vẫn nhắm các chuỗi công cụ cũ — dừng ởPDFlibViewer.pasvới lỗi định danh chưa khai báo. Hằng số giờ chỉ được khai báo cục bộ trên những trình biên dịch chưa cung cấp nó, phần xử lý DPI khi chạy giữ nguyên
Version 3.348.0
Added
ConvertToPDFAbiến tài liệu thường thành tài liệu lưu trữ chỉ bằng một lời gọi: nó loại bỏ những gì phần đã chọn cấm, thêm những gì phần đó đòi hỏi, ghi rõ phần mà tài liệu tuyên bố, rồi kiểm tra kết quả.- Tuyên bố đó chỉ được báo là đạt khi phần kiểm tra đạt. Một file tự nhận là lưu trữ mà thực ra không phải sẽ lọt qua chính những hệ thống lẽ ra đã bắt được nó, nên phán quyết đến từ phần kiểm tra chứ không đến từ lần thử.
GetPDFAConversionReportliệt kê những gì đã làm và, ở chỗ tài liệu vẫn còn thiếu, điều gì còn cản trở.
Version 3.347.1
Fixed
SanitizeDocumentgiờ thực sự xóa JavaScript mà nó báo là đã xóa. Nó từng hỏi danh sách gói một mục đứng trước mục đầu tiên, nhận về rỗng, và dừng lại trước khi gỡ một script nào — nên tài liệu đã qua khử độc vẫn chạy script khi mở.- Gỡ script cuối cùng giờ cũng xóa cây tên rỗng mà nó để lại, thứ mà nếu còn sẽ vẫn báo cho trình đọc rằng tài liệu mang script.
Version 3.347.0
Added
RepairDocumentMetadatađưa hai nơi PDF tự nói ai đã viết nó về thống nhất. Bộ kiểm tra đọc cả thông tin tài liệu lẫn gói XMP, và từ chối file mà hai nơi này bất đồng; phần lớn file trượt ở điểm này đơn giản vì chưa bao giờ có nửa XMP được ghi.- Ở nơi chỉ một nửa mang giá trị, nửa kia được điền từ nửa đó, nên không gì đã ghi chép bị vứt bỏ.
- Tài liệu đặt ở chế độ PDF/A được khôi phục định danh tiêu chuẩn nếu bị mất, điều xảy ra bất cứ khi nào bên gọi cung cấp gói XMP riêng. Thiếu nó, bộ kiểm tra đọc file như PDF thường và báo mọi quy tắc của phần đã tuyên bố là chưa đạt.
- Trả về số mục đã được sửa.
Version 3.346.0
Added
RecolorDocumentgiờ chuyển cả các gradient mà tài liệu vẽ. Không gian màu của gradient và các điểm dừng phía sau nó di chuyển cùng nhau, nên gradient đã chuyển đọc như một màu thống nhất thay vì như một kênh bị nhầm thành mức xám.- Gradient ghi bên trong pattern đang vẽ chúng, hoặc bên trong tài nguyên shading của trang, cũng được tìm thấy giống như那些 được cấp đối tượng riêng.
Changed
- Gradient dựng từ hàm lấy mẫu hoặc PostScript được để nguyên, các kiểu mesh cũng vậy, vì chúng mang màu trong stream thay vì trong hàm. Viết lại những thứ đó là thao tác khác với chuyển đổi màu.
Version 3.345.0
Added
RecolorDocumentgiờ chuyển ảnh indeed bằng cách chuyển bảng màu của nó, để mọi mẫu vẫn giữ đúng chỉ số vốn có. Ảnh như vậy chuyển được dù mẫu được đóng gói hay nén theo kiểu gì, kể cả ảnh bảng màu mà ảnh chụp màn hình hay biểu đồ thường được lưu dưới dạng.
Version 3.344.0
Added
RecolorDocumentgiờ chuyển cả ảnh mà trang vẽ chứ không chỉ màu mà trang đặt, nên tài liệu đã chuyển xám không còn hiện ảnh màu trên trang xám.- Mặt nạ mềm và mặt nạ stencil được giữ nguyên. Cả hai đều được đọc theo độ phủ chứ không phải theo màu, và chuyển đổi một trong hai sẽ khiến trang hiển thị mặt nạ như một bức ảnh.
Changed
- Một ảnh được chuyển khi nó mang tám bit một thành phần, không gian màu device, và hoặc không nén hoặc chỉ Flate thuần. Ảnh JPEG hay fax lẽ ra phải mã hóa lại, vốn là thao tác khác với chuyển màu, nên chúng giữ nguyên byte của mình.
Version 3.343.0
Added
- Chuyển cả tài liệu, hoặc một trang, vào một không gian màu.
RecolorDocumentvàRecolorPagenhận 1 cho xám, 2 cho RGB và 3 cho CMYK, trả về số màu đã chuyển. - Hữu ích trước khi gửi việc in tới máy in kỳ một không gian, hoặc để biến tài liệu màu thành tài liệu xám mà không cần vẽ lại. Hình học, văn bản và ảnh giữ nguyên như cũ; chỉ các toán tử màu thay đổi.
- Màu đã đặt sẵn trong không gian đích được để yên, nên trang có màu không cần đổi giữ nguyên byte gốc.
- Màu đặt qua không gian ICCBased, Separation, Indexed hoặc Pattern được giữ nguyên trạng. Chuyển những thứ đó mà không đọc hồ sơ của chúng sẽ thay đổi diện mạo trang thay vì bảo toàn nó.
Version 3.342.0
Đã thêm
- Lưu trữ PDF/A-4, phần của tiêu chuẩn được xây dựng trên PDF 2.0.
SetPDFAModenhận ba chế độ mới: 9 cho PDF/A-4, 10 cho PDF/A-4e cho phép thêm 3D và rich media, và 11 cho PDF/A-4f cho phép tệp nhúng ở định dạng bất kỳ - Tài liệu part 4 được nhận diện theo cách tiêu chuẩn yêu cầu: bằng số part và năm công bố part đó, không có chữ cái tuân thủ cho PDF/A-4 thuần và chữ E hoặc F cho hai phần mở rộng
- Mọi tệp nhúng trong tài liệu part 4 đều nêu rõ mối quan hệ của nó với tài liệu, như cả part 3 và part 4 đều yêu cầu
Đã thay đổi
- Kiểm tra PDF/A nhận diện part 4, đánh giá các tệp của nó theo PDF 2.0 thay vì 1.7, và báo cáo tệp part 4 không nêu năm bản lưu của mình
Version 3.341.2
Đã sửa
- Tài liệu PDF/A-3 và PDF/UA nay nêu rõ cách mỗi tệp nhúng liên quan đến tài liệu. Trước đây mối quan hệ chỉ được ghi cho các tệp đính kèm sau tệp đầu tiên và không bao giờ cho tệp cuối, nên một tài liệu chỉ có một tệp đính kèm — trường hợp thông thường — không có mối quan hệ nào cả và trượt xác thực ở điểm này
- Báo cáo PDF/UA không còn bỏ sót tệp nhúng cuối cùng khi kiểm tra sự hiện diện của mối quan hệ
Version 3.341.1
Đã sửa
- Kiểm tra PDF/A nay đọc dấu chuẩn mà tệp mang theo. Trước đây không thể, nên mọi tệp đều bị đánh giá theo part 1 bất kể nó khai báo gì: một tài liệu PDF/A-2 hoặc PDF/A-3 hợp lệ bị báo cáo là không mang dấu và có phiên bản quá cao, trái ngược với sự thật
- Dấu được đọc dù nhà sản xuất ghi nó dưới dạng phần tử hay thuộc tính. Cả hai đều là XMP bình thường, nên việc chỉ chấp nhận một dạng khiến các tệp từ nhà sản xuất khác trông như không có dấu
Version 3.341.0
Đã sửa
- Văn bản dọc nay dùng dạng dọc của từng ký tự. Dấu ngoặc, dấu nguyên âm dài và kana nhỏ được vẽ khác đi khi văn bản chạy dọc xuống trang, và phông tự đặt tên cho các dạng đó; cho đến nay dạng ngang mới được vẽ, khiến dấu ngoặc nằm ngang cắt ngang cột thay vì đứng dọc theo nó
- Các dạng được lấy từ tính năng dọc riêng của phông, nên từng kiểu chữ cung cấp những gì nhà thiết kế của nó vẽ ra thay vì một dạng thay thế đoán từ ký tự
GetVerticalTextHeightđo các dạng sẽ được vẽ, nên một cột mà ký tự của nó đổi hình dạng vẫn được đo chính xác- Kiểu chữ không đặt tên dạng dọc nào vẫn được vẽ y như trước
Version 3.340.0
Đã thêm
- Viết dọc, cho văn bản Nhật và Trung được sắp dọc xuống trang.
SetVerticalWritingModebật chế độ này và các lệnhDrawTextthông thường khi đó chạy xuống dưới;GetVerticalWritingModebáo cáo trạng thái. Trước đây, đặt văn bản dọc nghĩa là phải đặt từng ký tự bằng tay - Văn bản vẽ theo cách này đi qua một phông Type0 ở chế độ viết dọc mang các chỉ số dọc riêng của kiểu chữ, nên trình đọc tăng từng ký tự theo khoảng cách nhà thiết kế dự định thay vì một bước đều, và khi sao chép văn bản ra sẽ thu được các ký tự gốc
- Kiểu chữ không mang chỉ số dọc riêng sẽ tăng một em mỗi ký tự, đúng như trình đọc sẽ làm với giá trị mặc định
GetVerticalTextHeightbáo cáo một chuỗi sẽ chạy dọc xuống trang bao xa trước khi được vẽ, vàDrawVerticalTextvẽ một lượt theo chiều dọc mà không đổi chế độ- Dạng ngang và dạng dọc của một kiểu chữ được giữ tách biệt, nên một trang có thể mang cả hai mà cái này không làm phiền cái kia
Version 3.339.0
Đã thêm
- Gắn thẻ tự động nay bao phủ cả bảng. Với bit bảng mới được bật,
DrawTableRowsđưa bảng cùng các hàng và ô của nó vào cây cấu trúc, nên trình đọc có thể nói được một giá trị nằm ở cột nào thay vì đọc toàn bộ bảng ra như một chuỗi văn bản rời rạc SetTableHeaderRowCountchỉ ra bao nhiêu hàng đầu là tiêu đề, vàGetTableHeaderRowCountbáo cáo giá trị đó. Những hàng này được ghi dưới dạng ô tiêu đề mang phạm vi cột, chính điều này cho phép trình đọc đọc tên tiêu đề của giá trị mà nó đang đọc- Các hàng tiêu đề được đặt tên theo cách này vẫn ở nguyên vị trí. Việc lặp chúng ở đầu mỗi trang vẫn là một quyết định bố cục thực hiện bằng
DrawTaggedTableRows
Đã thay đổi
AUTOTAG_DEFAULTnay bao phủ bảng bên cạnh văn bản, thành phần trang trí và hình minh họa. Truyền chế độ dưới dạng số vẫn giữ nguyên ý nghĩa như trước
Version 3.338.0
Đã thêm
- Gắn thẻ tự động nay bao phủ cả ảnh. Với bit figure mới được bật, ảnh được vẽ trở thành một figure trong cây cấu trúc, nên trình đọc tiếp cận được nó thay vì lướt qua trong im lặng
RegisterFigurecung cấp mô tả mà ảnh kế tiếp mang theo. Trình đọc đọc mô tả đó thay cho bức ảnh, và đó là toàn bộ những gì một trình đọc không nhìn thấy nhận được từ nóRegisterDecorationcho biết ảnh kế tiếp là một đường kẻ, viền hoặc nền không mang ý nghĩa, và nó được vẽ bên trong một artifact bố cục nên trình đọc bỏ qua thay vì thông báo một bức ảnh không nói lên điều gì- Cả hai thiết lập chỉ dùng cho một ảnh, nên ảnh sau không bao giờ thừa hưởng mô tả dành cho ảnh trước
Đã thay đổi
AUTOTAG_DEFAULTnay bao phủ figure bên cạnh văn bản và thành phần trang trí, nên yêu cầu mặc định là yêu cầu cả ba. Truyền chế độ dưới dạng số vẫn giữ nguyên ý nghĩa như trước- Tiêu đề đăng ký bằng
RegisterHeadingnay chờ văn bản mà nó đặt tên. Ảnh được vẽ xen giữa trở thành một figure và để dành tiêu đề cho văn bản phía sau, thay vì nhận luôn cấp tiêu đề
Version 3.337.1
Đã sửa
- Tài liệu dựng chỉ bằng
BeginTagnay được đánh dấu là có gắn thẻ. Cho đến nay loại tệp này vẫn mang một cây cấu trúc đầy đủ mà không trình đọc nào xem đến, vì trình đọc coi tài liệu là không gắn thẻ trừ khi catalog nói điều ngược lại (ISO 32000-1 §14.7.1); công nghệ hỗ trợ đọc trang như thể trang không có cấu trúc chút nào - Dấu chỉ được thêm khi một cây cấu trúc thực sự được ghi, nên tài liệu không có thẻ vẫn được báo cáo là chưa gắn thẻ, và thiết lập
SetMarkInfodo bên gọi thực hiện được giữ nguyên
Version 3.337.0
Đã thêm
- Gắn thẻ cấu trúc tự động.
SetAutoTagModebật một chế độ trong đó các lệnh vẽ thông thường tự mang cấu trúc của chúng: văn bản trở thành một đoạn, văn bản vẽ ngay sauRegisterHeadingtrở thành tiêu đề ở cấp đó, và đầu trang cùng chân trang chạy thành artifact mà trình đọc bỏ qua. Trước đây, tạo tài liệu tiếp cận được nghĩa là phải bọc từng lệnh vẽ trongBeginTagvàEndTagbằng tay - Bật chế độ này cũng đánh dấu tài liệu là có gắn thẻ, điều trình đọc cần trước khi coi cấu trúc là hiện diện
- Gắn thẻ tự động nhường chỗ bên trong một thẻ mở bằng tay, nên một phần tài liệu có thể do bên gọi mô tả và phần còn lại giao cho thư viện, mà hai bên không lồng vào nhau
- Không có gì được gắn thẻ bên trong artifact, và văn bản rỗng không mở phần tử nào, nên cả hai đều không thể tạo ra phần tử cấu trúc mà trình đọc sẽ đọc thành khoảng trắng
Version 3.336.0
Đã thêm
- Luồng văn bản, để chạy một đoạn văn xuyên qua nhiều hộp, cột hoặc trang.
NewTextFlownhận văn bản vàDrawTextFlowlấp một hộp với lượng vừa đủ, để nguyên luồng ở từ đầu tiên nó không thể nhận, nên hộp kế tiếp tiếp tục đúng tại đó MeasureTextFlowbáo cáo phần văn bản còn lại cần bao nhiêu dòng ở một chiều rộng cho trước mà không vẽ gì cả, nên có thể đo kích thước bố cục trước khi cam kết- Một hộp không còn chỗ cho dòng nào sẽ không nhận gì và giữ nguyên luồng, nên việc đưa thêm hộp không bao giờ làm mất văn bản
SetTextFlowMinLinesgiữ một số dòng cho trước ở cùng nhau: hộp chỉ nhận được ít hơn sẽ không nhận dòng nào và đẩy chúng đi tiếp, thay vì bỏ lại một dòng lạc lõng ở chân cộtGetTextFlowRemaining,TextFlowFinishedvàRewindTextFlowbáo cáo và đặt lại tiến độ; trước đây vẽ một hộp sẽ bỏ phần tràn ra mà không có cách nào biết cái gì đã mất
Version 3.335.0
Đã thêm
- Mục lục tự động. Các tiêu đề được đăng ký bằng
RegisterHeadingtrong lúc thân tài liệu được viết, vàDrawTOCsắp xếp chúng sau đó: mỗi mục thụt vào theo cấp, một dải chấm kéo dài tới số trang căn phải, và cả hàng là liên kết tới tiêu đề - Tiêu đề ghi nhớ nó trỏ tới đâu thay vì nó có số trang nào, nên chèn trang mục lục vào trước phần thân đã hoàn thành - vốn đánh số lại mọi trang nó tham chiếu - vẫn giữ mọi mục và mọi liên kết chính xác
MeasureTOCbáo cáo danh sách cần bao nhiêu trang trước khi vẽ bất cứ gì, vàDrawTOCtrả về số mục nó đã đặt, nên danh sách dài hơn một trang được vẽ bằng cách gọi lại với số mục đã đặtPopulateOutlineFromHeadingsbiến các tiêu đề đó thành bookmark tài liệu, lồng nhau theo cấp- Tiêu đề quá rộng so với chỗ số trang của nó để lại sẽ bị rút ngắn từng ký tự một và thêm dấu ba chấm, thay vì bị cho tràn dưới con số
Version 3.334.1
Đã sửa
- Chọn một trang sau khi chèn các trang phía trước nó sẽ chạm trang từng giữ số đó trước khi chèn, nên vẽ phần mở đầu vào một tài liệu hiện có có thể ghi nhầm lên trang thân sai. Chọn trang nay theo số thứ tự mới
Version 3.334.0
Đã thêm
GetSignatureModificationVerdicttrả lời câu hỏi mà trình đọc thực sự có về một tài liệu đã ký: các bản cập nhật được nối thêm sau chữ ký này có phải là những gì cấp chứng thực của nó cho phép không? Chữ ký chứng thực mang một cấp quyền, và phán quyết kiểm tra mọi bản lưu sau đó dựa trên nó, nên việc thêm dữ liệu xác thực được coi là được phép trong khi viết lại trang thì khôngGetSignatureEffectiveMDPLevelbáo cáo cấp đang hiệu lực vàGetSignatureModificationDetailnêu bản lưu cùng loại thay đổi đứng sau câu trả lời- Phán quyết phân biệt "không có gì được nối thêm", "chỉ các thay đổi được phép", "có điều không được phép", "không thể xác định" và "chữ ký không kết thúc trên biên bản lưu". Trường hợp cuối nghĩa là có các byte nằm trong dải mà chữ ký tuyên bố bao phủ
- Nghi ngờ không bao giờ được báo cáo là chấp thuận: chứng thực mà cấu trúc không thể xác minh, khóa trường mà các trường bị ảnh hưởng không thể truy vết, bản lưu chứa thứ không đọc được, hoặc các byte vượt quá dải đã ký không tạo thành bản lưu nào nhận ra được, đều được báo cáo là không xác định thay vì được phép
Đã thay đổi
- Một mảng gián tiếp mà không thứ gì giải thích được nay được báo cáo là không xác định thay vì là việc sổ sách. Danh sách chú thích hoặc nội dung của trang là một mảng, và viết lại nó thay đổi những gì tài liệu hiển thị trong khi mọi từ điển vẫn nguyên vẹn
Version 3.333.0
Added
- Kiểm tra bản phê duyệt gia tăng. Một chữ ký bao phủ các byte của bản phê duyệt mà nó được ghi vào, và mọi thứ được phụ thêm sau đó là một lần cập nhật riêng biệt mà nội dung của nó quyết định xem chữ ký có còn đại diện cho tài liệu như hiện tại hay không.
GetDocumentRevisionCount,GetDocumentRevisionStartvàGetDocumentRevisionEndbố trí các bản phê duyệt đó, vàGetSignatureRevisionIndexcho biết chữ ký kết thúc tại bản phê duyệt nào GetDocumentRevisionKindbáo cáo những gì một lần cập nhật đã làm, theo đối tượng có phạm vi ảnh hưởng rộng nhất trong số những đối tượng nó chạm tới: công tác sổ sách, tài liệu xác thực, dấu thời gian tài liệu, một chữ ký, một trường biểu mẫu, một chú thích, hay nội dung tài liệu. Do đó việc thêm tài liệu xác thực cho xác thực dài hạn không còn trông như đang chỉnh sửa tài liệuGetDocumentRevisionChangesliệt kê mọi đối tượng mà một lần cập nhật đã thêm, thay đổi hoặc xóa, cùng với việc mỗi đối tượng là gì và, đối với một từ điển đã thay đổi, những khóa nào thực sự khác biệtGetDocumentRevisionsCompletebáo cáo liệu toàn bộ lịch sử có thể khôi phục được hay không. Một chuỗi bị đứt, vòng lặp hoặc dài hơn mức bộ đọc theo dõi sẽ để lại các lần cập nhật cũ nhất không được nhìn thấy, và khi đó các số đếm là một cận dưới thay vì một câu trả lời- Một đối tượng mà phiên bản trước đó của nó không thể đọc được, hoặc mà thân luồng của nó chưa từng được so sánh, được báo cáo là không xác định thay vì vô hại: một lần cập nhật viết lại một trang trong khi để nguyên từ điển của nó không bị nhầm là một lần đóng gói lại
Version 3.332.0
Added
ApplyPAdESLongTermValidationnâng cấp một PDF đã ký lên PAdES-B-LT trong một lần gọi. Nó xây dựng đường dẫn chứng chỉ người ký từ chính chữ ký, thu thập tài liệu OCSP và CRL cho mỗi liên kết thông qua các địa chỉ mà các chứng chỉ nêu tên, và ghi các chứng chỉ cùng dữ liệu thu hồi vào kho bảo mật tài liệu kèm một mục VRI cho chữ ký, trong một lần cập nhật gia tăng duy nhất.ApplyPAdESLongTermValidationToStreamghi kết quả vào một luồng thay vì một tệp- Hành vi có thể được cấu hình thông qua một mặt nạ tùy chọn
PADES_LTV_*: có ghi mục VRI hay không, có hỏi các trình đáp ứng OCSP hay không, có dự phòng vào CRL hay không, có theo các địa chỉ nhà phát hành để hoàn thành đường dẫn hay không, và có bỏ qua thu hồi cho một gốc tự phát hành hay không - Một tên trường trống xử lý mọi chữ ký thành một bản phê duyệt; một trường được đặt tên chỉ xử lý đúng một trường đó
GetPAdESLTVCertificateCount,GetPAdESLTVCRLCount,GetPAdESLTVOCSPCountvàGetPAdESLTVErrorbáo cáo những gì lần gọi cuối đã thu thập và lý do nó dừng lại sớm, do đó một kết quả từng phần qua một trình đáp ứng không truy cập được sẽ hiển thị thay vì bị bỏ qua âm thầm- Tài liệu giống hệt với thứ đã được dàn xếp sẽ được ghi một lần và được tham chiếu bởi mọi chữ ký cần nó, và một chữ ký không mang chứng chỉ nào có thể đọc được sẽ được báo cáo thay vì được ngụy tạo thành một lần nâng cấp thành công
Version 3.331.0
Added
- Một chữ ký mang theo đường dẫn chứng nhận của chính nó, do đó tài liệu mà một hồ sơ xác thực dài hạn cần có thể được đọc chỉ từ tệp đã ký.
GetSignatureSignerCertificateDER,GetSignatureEmbeddedCertificateCountvàGetSignatureEmbeddedCertificateDERtrả về các chứng chỉ mà một chữ ký nhúng, vàGetSignatureCertificateChainLengthcùngGetSignatureCertificateChainDERsắp xếp chúng thành một đường dẫn đi từ người ký ra ngoài GetSignatureContentsHashHextrả về khóa mà một mụcAddPAdESDSSVRIđược định chỉ đến, được tính từ chính chữ ký- Chứng chỉ người ký được so khớp cho dù chữ ký định danh nó theo nhà phát hành và số sê-ri hay theo mã định danh khóa chủ thể, và một đường dẫn dừng lại tại nhà phát hành cuối cùng mà chữ ký thực sự mang theo thay vì giả vờ là hoàn chỉnh
Fixed
- Bộ đọc DER từ chối một chiều dài phần tử được khai báo lớn hơn dữ liệu thay vì để một giá trị gần mức tối đa cuộn vòng kiểm tra biên của nó, và quá trình duyệt tiện ích chứng chỉ không còn đọc vượt quá phần cuối của một chứng chỉ bị cắt ngắn hoặc quá dài. Cả hai đều có thể truy cập được từ một tài liệu được tinh chế, do đó các bộ truy cập trên vẫn an toàn trên đầu vào không đáng tin cậy
- Các bộ truy cập chữ ký đọc tài liệu bằng một xử lý dùng chung, do đó chúng trả lời trong khi một trình xác thực hoặc trình xem đã mở tệp thay vì thất bại như thể chữ ký vắng mặt
Version 3.330.0
Đã thêm
- Các yêu cầu trạng thái OCSP.
BuildOCSPRequestmã hóa một yêu cầu RFC 6960 cho chứng thư và bên phát hành của nó,FetchOCSPResponsegửi nó tới responder và trả về câu trả lời, vàAddPAdESDSSOCSPFromCertificateslàm cả hai và lưu kết quả vào kho bảo mật tài liệu - Địa chỉ responder là tùy chọn: khi bỏ qua, địa chỉ mà chính chứng thư nêu sẽ được dùng, nên bên gọi đã có chuỗi chứng thư không cần cấu hình thêm
- Một cặp chứng thư thực ra không thuộc về nhau sẽ bị từ chối trước khi có bất cứ gì được gửi, thay vì tạo ra câu trả lời "unknown" mà loại yêu cầu này nhận được từ responder và trông như một vấn đề thu hồi
- Chỉ phản hồi thành công mới được lưu; responder trả lời
tryLaterhoặcunauthorizedđược báo cáo quaGetTimeStampErrorthay vì được lưu trữ như thể đó là một câu trả lời trạng thái
Version 3.329.0
Đã sửa
- Dùng lại một mảng kết quả qua các lệnh gọi liệt kê liên tiếp không còn làm rò rỉ các chuỗi nằm trong các ô mảng mà lệnh gọi sau không điền. Điều này ảnh hưởng đến mẫu "gọi một lần lấy số lượng, đổi kích thước, gọi lại" đã được ghi tài liệu mỗi khi lệnh gọi sau trả về ít mục hơn mảng có thể chứa, và phần văn bản bị bỏ lại đó tích lũy trong suốt vòng đời tiến trình
- Các điểm vào bị ảnh hưởng bao gồm
EnumPageContentStates,EnumPageContentStatesEx,EnumAttachments,EnumDocumentFonts,EnumPageElements,EnumNamedDestinations,EnumSignatures,EnumFormFields,GetFormValues,GetTextInAreaEx, cùng các lệnh gọi liệt kê tìm-văn-bản, hành-động-trường-biểu-mẫu và chứng thư
Đã thay đổi
- Tham số mảng kết quả của các lệnh gọi đó nay được truyền dưới dạng
varthay vìout. Mã Delphi và C++Builder hiện có biên dịch và liên kết không đổi; khác biệt duy nhất nhìn thấy được là các ô mảng sau số lượng trả về giữ nguyên nội dung trước đó thay vì bị xóa trắng âm thầm
Version 3.328.0
Đã thêm
- Chứng thư nay cho thư viện biết trạng thái của chúng có thể kiểm tra ở đâu:
GetCertificateOCSPURLs,GetCertificateIssuerURLsvàGetCertificateCRLURLsđọc địa chỉ responder, chứng-thư-phát-hành và CRL từ một chứng thư, nên việc lắp ráp dữ liệu xác thực dài hạn không còn đòi hỏi phải biết một thẩm quyền cụ thể công bố ở đâu FetchRevocationMaterialtải dữ liệu từ những địa chỉ đó, vàAddPAdESDSSCRLFromURLcùngAddPAdESDSSCertificateFromURLtải về và lưu vào kho bảo mật tài liệu trong một bước- Các địa chỉ không chỉ tới tài nguyên tải được, như tên thư mục hay địa chỉ thư, bị bỏ qua thay vì được báo cáo là thứ có thể tải về
Version 3.327.0
Đã thêm
- Một client dấu thời gian RFC 3161 tích hợp sẵn.
SetTimeStampServervàSetTimeStampOptionscấu hình thẩm quyền, thuật toán băm, chính sách yêu cầu, việc dùng nonce và thời gian chờ;FetchTimeStampTokentrả về một TimeStampToken cho digest bất kỳ ApplyPAdESSignatureTimeStamphoàn tất một chữ ký PAdES-B-T trong một lệnh gọi: nó băm giá trị chữ ký, lấy token từ thẩm quyền đã cấu hình và gắn nó làm thuộc tính dấu thời gian chữ ký, thay cho chuỗi trao đổi ba bước trước đây bên gọi phải tự nối- Khi dùng nonce, token được kiểm tra có mang lại đúng giá trị đó hay không, nên phản hồi bị phát lại hoặc bị thay thế sẽ bị từ chối thay vì được nhúng vào tài liệu
GetTimeStampStatusvàGetTimeStampErrorbáo cáo trạng thái và văn bản thất bại của chính thẩm quyền, nên một yêu cầu bị từ chối tự giải thích được
Version 3.326.0
Đã thêm
- Bộ kết xuất PDFium nay ghi các định dạng ảnh giống những gì bộ kết xuất GDI+ và Cairo ghi.
RenderPageToFile,RenderPageToStreamvàRenderPagesToFileschấp nhận BMP (tùy chọn 0), JPEG (1), PNG (5), GIF (6), TIFF (7) và G4 TIFF (10) sauSelectRenderer(3), thay vì chỉ chấp nhận BMP - Chất lượng JPEG đặt qua
SetJPEGQualityvà các thiết lập nén TIFF đang hoạt động nay cũng áp dụng cho đầu ra PDFium, nên việc đổi bộ kết xuất không còn làm thay đổi cách mã hóa tệp được tạo ra
Đã sửa
- Yêu cầu PNG hoặc định dạng không phải BMP nào khác từ bộ kết xuất PDFium trước đây trả về 0 và để lại một tệp rỗng. Các ứng dụng có tùy chọn kết xuất lặng lẽ tạo ra đầu ra không đọc được bất cứ khi nào PDFium là engine được chọn
- Yêu cầu bộ kết xuất PDFium một định dạng metafile nó không tạo được (WMF, EMF, EPS, EMF+, HTML5) nay báo cáo các định dạng khả dụng qua
LastRenderErrorthay vì chỉ nêu BMP là lựa chọn duy nhất
Version 3.324.0
Đã thay đổi
- Bộ kết xuất PDFium nay nạp tài liệu cho engine qua một nguồn dữ liệu streaming thay vì một buffer thường trú. Trước đây kết xuất và in tuần tự hóa tài liệu rồi lại sao chép nó vào một chuỗi, nên mỗi trang tốn gấp đôi kích thước tài liệu về bộ nhớ; bản sao đã bị bỏ và PDFium chỉ đọc những khối nó cần
- Kết xuất một dải trang ra tệp phân tích tài liệu một lần cho cả lô thay vì một lần mỗi trang, nên một dải dài không còn đọc lại toàn bộ tệp cho mỗi ảnh nó ghi
- Các bản dựng PDFium cũ không xuất điểm vào streaming vẫn hoạt động không đổi qua đường trong bộ nhớ
Đã sửa
- Smoke test của bộ kết xuất tìm các thư viện tùy chọn PDFium và Cairo cao hơn một thư mục nên lặng lẽ bỏ qua cả hai engine; nay nó tìm thấy chúng và chạy các đường kết xuất thực sự
Version 3.323.0
Added
CreateValidationReportvàSaveValidationReporttạo báo cáo xác thực PDF/A và PDF/UA-1 có cấu trúc dưới dạng XML hoặc JSON. Mỗi phát hiện mang id quy tắc, tiêu chuẩn sở hữu nó, tên quy tắc ngắn, điều khoản ISO mà nó thực thi, mức độ nghiêm trọng và số đối tượng bị ảnh hưởng, và báo cáo kết thúc bằng thống kê đạt/không đạt theo tiêu chuẩn và cấp tài liệu- Một tiêu chuẩn không được yêu cầu được báo cáo là
not-checkedthay vì vượt qua im lặng, để một lần chạy cục bộ không thể bị nhầm thành xác nhận sạch - Các pipeline build giờ có thể kiểm soát theo id quy tắc hoặc điều khoản ISO thay vì khớp chuỗi con trong văn bản: họ báo cáo preflight tạo báo cáo con người trước và chuyển văn bản đó sang JSON, HTML hoặc CSV, trong khi báo cáo xác thực được lắp từ đầu ra kiểm tra thô và giữ nguyên các trường có thể đọc bằng máy
Version 3.322.0
Added
- Tài liệu tham khảo giờ ghi lại bốn kiểu công khai khai báo bên ngoài được dùng trên bề mặt
TPDFlibmà trước đây không có trang riêng:TPDFlibProgressEvent,TPDFlibLogger,TPDFlibCertificateInfovàTPDFlibWatermarkBase, hoàn tất việc bao phủ các kiểu sự kiện, logger, kết quả liệt kê và watermark công khai
Version 3.321.0
Added
CheckDocumentPolicyđánh giá các quy tắc nội bộ khai báo nhưFonts.NotEmbedded = 0,Security.Encrypted = nohoặcDocument.Pages <= 500đối với tài liệu và báo cáo mỗi quy tắc là đạt hoặc không đạt kèm giá trị thực, biến cổng tiếp nhận cho nhà xuất bản, kho lưu trữ và xưởng in thành cấu hình thay vì mã kiểm tra viết tay
Version 3.320.1
Fixed
- Vẽ văn bản trong chế độ PDF/A mà không nạp font trước không còn lỗi: PDF/A yêu cầu mọi chương trình font phải được nhúng, nên lối tắt ngầm đến font tích hợp bị từ chối và không để lại font nào được chọn, và
DrawTextcùng các lệnh văn bản khác bị sập thay vì vẽ - Đường dẫn font ngầm giờ phân giải một face có thể nhúng thực sự khi chế độ PDF/A đang hoạt động, nên văn bản vẽ mà không gọi
AddTrueTypeFonttường minh được nhúng và giữ conforming; lệnh gọiAddStandardFonttrực tiếp vẫn bị từ chối dưới PDF/A - Trên máy chủ nơi không thể phân giải face có thể nhúng, việc vẽ dự phòng về độ đo tích hợp thay vì lỗi và báo cáo sự thiếu hụt tuân thủ qua
LastErrorCode605, để tệp có thể bị bắt trước khi xuất bản dưới dạng conforming
Version 3.320.0
Added
GetDocumentFeatureReporttrả về báo cáo tính năng có cấu trúc trong một lần gọi — siêu dữ liệu tài liệu, số trang và đối tượng, trạng thái mã hóa, hàng tồn kho font và hình ảnh, gắn thẻ và dàn bài, trường biểu mẫu, chữ ký, tệp đính kèm và phân tích byte theo danh mục — thay thế hàng chục truy vấn riêng mà pipeline danh mục hóa hoặc tiếp nhận trước đây phải lắp ráp
Version 3.319.0
Added
SetCollectionView,AddCollectionField,SetCollectionSortvàSetCollectionItemValuexây dựng hồ sơ PDF trên đỉnh các tệp đính kèm hiện có, để một tập tệp nhúng được trình bày dưới dạng gói có thể duyệt với các cột, thứ tự sắp xếp và giá trị mỗi tệp riêng thay vì danh sách tệp đính kèm đơn giảnGetCollectionViewvàGetCollectionFieldCountbáo cáo chế độ trình bày và số cột đã khai báo của một hồ sơ đã nạp
Version 3.318.1
Fixed
- Tùy chọn trích xuất văn bản 12 (bỏ qua văn bản xoay) giờ loại bỏ các đoạn xoay bất kể hướng xoay: một phần tư vòng theo chiều kim đồng hồ và một phần tư vòng ngược chiều kim đồng hồ trước đây được xử lý khác nhau, nên các ghi chú lề ngang bị loại bỏ theo một hướng và trả về theo hướng kia
- Cùng tùy chọn giữ lại văn bản nghiêng chỉ bị cắt nghiêng, như nghiêng tổng hợp, và dung sai giờ tỉ lệ theo kích thước văn bản và phép biến đổi trang, nên các tiêu đề nghiêng lớn không còn bị loại bỏ như thể chúng bị xoay
Version 3.318.0
Added
DecodeAllStreamsmở rộng các luồng nén của tài liệu tại chỗ, nên việc lưu tạo ra một bản sao mà các luồng nội dung, siêu dữ liệu và cấu trúc của nó có thể được đọc trực tiếp bởi công cụ diff, đánh giá pháp y và quy trình hỗ trợ; hình ảnh, luồng dự đoán và luồng tham chiếu chéo giữ mã hóa của chúng, và các luồng đối tượng được hiện thực hóa trước để không mất gì
Version 3.317.0
Added
SetTrappedvàGetTrappedkhai báo và đọc trạng thái bẫy tài liệu mà PDF/X yêu cầu, được viết dưới dạng tên/Trappedmà đặc tả yêu cầu thay vì dưới dạng chuỗi văn bảnSetOutputIntentSubtypevàGetOutputIntentSubtypegắn lại nhãn output intent, để một profile màu đã nạp có thể mô tả điều kiện inGTS_PDFXthay vì điều kiện lưu trữGTS_PDFA1mà các chế độ PDF/A tạo ra
Version 3.316.0
Added
SetEncryptEmbeddedFilesOnlyvàGetEncryptEmbeddedFilesOnlyhạn chế mã hóa AES cho các tệp nhúng: tài liệu mở và hiển thị trong bất kỳ trình đọc nào mà không có lời nhắc mật khẩu trong khi các tệp đính kèm vẫn được mã hóa, cách sắp xếp tiêu chuẩn cho hóa đơn, hồ sơ y tế và hồ sơ vụ án mà trang bìa công khai nhưng tải trọng thì không
Version 3.315.0
Added
- Tùy chọn trích xuất văn bản 18 xoay các đoạn được vẽ ở 90, 180 hoặc 270 độ vào khung đọc ngang và nhóm từng phần tư vòng riêng biệt, để các ghi chú lề xoay, tiêu đề bảng và nhãn trục biểu đồ trích xuất dưới dạng dòng có thể đọc thay vì đan xen với văn bản thẳng hoặc bị loại bỏ
Fixed
DASetTextExtractionOptionschấp nhận tùy chọn 16 (bỏ gạch nối) và tùy chọn 17 (tách từ theo khoảng cách ký tự) thay vì từ chối chúng, và đường dẫn trích xuất direct-access giờ chuyển tiếp các tùy chọn 15, 16 và 17 đến bộ trích xuất, nên việc loại bỏ quy tắc gạch dưới, bỏ gạch nối và tách khoảng cách ký tự áp dụng cho handle tệp cùng cách chúng áp dụng cho tài liệu đã nạp
Version 3.314.0
Added
GetFontHasToUnicodebáo cáo liệu font đã chọn có mang ánh xạ Unicode hay không, và hàng tồn kho font nhận thêm trườngHasToUnicodecho mỗi font cùng tóm tắtNoToUnicodeCount, để tài liệu có thể được kiểm tra cho font an toàn-trích xuất và có thể chuyển đổi PDF/A-*u hoặc PDF/UA trước khi xử lý
Version 3.313.0
Added
SetPDFAModenhận thêm chế độ 8 cho PDF/A-2u (ISO 19005-2 Level U), cấp tuân thủ khai báo ánh xạ văn bản Unicode mà không cho phép tệp nhúng, hoàn tất họ PDF/A-2 cùng với các chế độ 2b và 2a hiện có
Version 3.312.0
Added
GetObjectByPathvàGetObjectByPathCountđọc bất kỳ nút nào của cây đối tượng qua biểu thức đường dẫn nhưRoot/Pages/Kids[0]/MediaBox[2]hoặcpages[0]/Type— kiểu, giá trị vô hướng, dạng tuần tự hóa và số phần tử trong một lần gọi, thay thế việc đi对象 tượng viết tay cho thăm dò siêu dữ liệu, kiểm tra tuân thủ và chẩn đoán hỗ trợ
Version 3.311.0
Added
SetBlackPointCompensationkhai báo bù điểm đen (ON, OFF hoặc Default) cho việc vẽ tiếp theo qua trạng thái đồ họa/UseBlackPtCompcủa PDF 2.0, cho phép đầu ra prepress và proofing chốt các chuyển đổi ICC tông tối mà trước đây là riêng của trình xem; phiên bản tài liệu được nâng tự động và các chế độ PDF/A từ chối trạng thái
Version 3.310.0
Added
SetCompressionLevelvàGetCompressionLevellộ mức deflate cho mọi lần nén thư viện thực hiện: 0 giữ động cơ SIMD tăng tốc mặc định, 1 ưu tiên throughput và 9 nén kho lưu trữ nhỏ nhấtRecompressStreamsnén lại mọi luồng FlateDecode thuần của tài liệu đã chọn ở mức hiện tại và giữ mã hóa nhỏ hơn mỗi luồng, thu nhỏ tài liệu được viết ban đầu ở cài đặt nén nhanh mà không động đến nội dung
Version 3.309.0
Added
SetObjectStreamModevàGetObjectStreamModethêm điều khiển luồng đối tượng ba trạng thái: tắt, tạo (mặc định) hoặc bảo toàn, nơi bảo toàn giữ nhóm nén gốc của tệp đã nạp và ghi các container nguyên văn, làm cho việc chuyển đổi các tệp PDF 1.5+ hiện có rẻ hơn vì không gì bị giải nén hoặc tái nhóm
Changed
- Trong chế độ bảo toàn, các thành viên đã chỉnh sửa kể từ khi nạp được nâng lên thành đối tượng cấp cao nhất để các thay đổi được lưu, và mọi thành viên nén còn lại tự động chọn dạng luồng tham chiếu chéo nhị phân
Version 3.308.0
Added
CheckDocumentStructurechạy kiểm tra sức khỏe cấu trúc một lần gọi: mọi đối tượng và luồng được ép qua bộ giải mã, luồng Flate thuần được xác minh nghiêm ngặt với dấu kết thúc zlib để dữ liệu cắt cụt bị bắt, và báo cáo đánh dấu trailer thiếu, catalog và trang không thể giải quyết, trình xử lý mã hóa không hỗ trợ và tệp được sửa bằng quét byte với phát hiện mỗi đối tượng và dòng tóm tắt
Version 3.307.0
Fixed
- Các tài liệu hỏng dùng luồng tham chiếu chéo giờ sửa thành công: tái dựng thô phục hồi các thành viên của luồng đối tượng nén và, khi không có từ khóa trailer nào trong tệp, tổng hợp trailer từ catalog tài liệu mới nhất có thể tiếp cận, nên offset startxref hỏng không còn làm cho các tệp như vậy không thể mở
Version 3.306.0
Added
ExportDocumentDataghi các khóa thông tin tài liệu, toàn bộ cây dấu trang và các phạm vi nhãn trang dưới dạng văn bản thuần có thể chỉnh sửa theo định dạng dump_data cổ điểnImportDocumentDataáp dụng cùng định dạng ngược lại — các khóa thông tin cập nhật, cây dấu trang được tái dựng với cấp lồng ghép và trang đích, và các phạm vi nhãn trang được thay thế — cho phép chỉnh sửa dấu trang hàng loạt và di chuyển siêu dữ liệu giữa các tài liệu trong một lần gọi mỗi chiều
Version 3.305.0
Added
AuditDocumentSpacephân tích sử dụng byte của tài liệu theo danh mục — hình ảnh, chương trình và từ điển font, luồng nội dung, Form XObject, luồng đối tượng, tệp nhúng, siêu dữ liệu, cây cấu trúc, chú thích, cây trang và khác — với số đối tượng, tổng byte và phần trăm, trả lời vì sao tệp lớn như vậy và tối ưu nào có lợi nhất
Version 3.304.0
Added
StructTreeItemCount,GetStructTreeItemTextvàGetStructTreeItemIntPropertyđọc cây cấu trúc của tài liệu được gắn thẻ dưới dạng danh sách mục depth-first phẳng — kiểu phần tử (thô và ánh xạ vai trò), văn bản thay thế và thực tế, ngôn ngữ, tiêu đề, id nội dung được đánh dấu, số trang và quan hệ cha/con
Changed
- Bộ đọc cây cấu trúc bảo vệ chống lại tài liệu hỏng: vòng tham chiếu, số đối tượng ngoài phạm vi và cây lồng quá 64 cấp bị cắt thay vì lặp
Version 3.303.1
Fixed
- Các con dấu underlay trong suốt tạo bởi
StampTextvàStampImagekhông còn làm độ mờ of chúng chảy vào nội dung trang gốc — trạng thái trong suốt giờ giới hạn trong con dấu, nên trang giữ độ mờ đầy đủ
Version 3.303.0
Added
OverlayDocumentPagesđóng dấu các trang của tài liệu mở khác lên các trang của tài liệu đã chọn, một trang nguồn mỗi trang đích, phía trên hoặc phía dưới nội dung hiện có — giấy letterhead, nền trang liên tục và mẫu biểu mẫu quét trong một lần gọi- Cạn kiệt nguồn có thể cấu hình: dừng, tuần hoàn qua các trang nguồn, hoặc tiếp tục lặp lại trang nguồn cuối; một tùy chọn khác ngăn con dấu bị phóng to vượt quá kích thước tự nhiên
Changed
- Con dấu tài liệu được điều chỉnh vừa với CropBox của trang đích và đặt thẳng trên các trang mang mục
/Rotate, và mỗi trang nguồn được nhập một lần dưới dạng Form XObject dùng chung để các mẫu lặp không bao giờ trùng lặp tài nguyên
Version 3.302.0
Fixed
- Mật khẩu AES-256 giờ được xử lý bằng SASLprep (RFC 4013) trước khi băm, để mật khẩu chứa khoảng trắng non-ASCII, gạch nối mềm, ký tự tương thích hoặc chuỗi kết hợp mở đúng trong Acrobat và các trình đọc conforming khác
- Mở tài liệu AES-256 thử mật khẩu chuẩn đã chuẩn bị trước và dự phòng về dạng byte cũ, để tệp được viết bởi các bản phát hành trước với mật khẩu non-ASCII tiếp tục mở
Added
- Mã lỗi 604 báo cáo mật khẩu AES-256 bị từ chối bởi SASLprep vì chứa các điểm mã bị cấm hoặc vi phạm quy tắc hai chiều
Version 3.301.0
Added
SplitDocumentToFileschia tài liệu đã chọn thành một lô tệp đầu ra với số trang cố định mỗi tệp, dùng trình giữ chỗ tên tệp%p
Changed
- Chia hàng loạt phân tích tài liệu nguồn một lần và sao chép mỗi phần từ cùng cấu trúc trong bộ nhớ, thay thế việc phân tích đầy đủ lặp lại mà vòng lặp qua
ExtractFilePagesthực hiện cho mỗi phạm vi
Version 3.300.0
Added
CollateDocumentsgộp các trang từ một số tài liệu mở vào tài liệu đã chọn theo vòng, lấy số trang có thể cấu hình từ mỗi nguồn mỗi vòng (A1, B1, A2, B2, …)CollateDocumentsExchấp nhận danh sách phạm vi trang cho mỗi nguồn nơi các phạm vi giảm dần như3-1đảo ngược một nguồn, để các lượt quét mặt trước và mặt sau đảo gộp vào thứ tự đọc trong một lần gọi
Changed
- Gộp ghép nhập mỗi nguồn qua một bản đồ đối tượng duy nhất và đan xen bằng sắp xếp lại trang, để font và hình ảnh dùng chung trong một nguồn chỉ được ghi một lần bất kể kích thước nhóm
Version 3.299.0
Added
SetDeterministicDocumentIDvàGetDeterministicDocumentIDchuyển định danh tệp trailer sang một giá trị có thể tái lập để đầu vào giống nhau tạo byte đầu ra giống hệt cho cache build, lưu trữ content-addressable và so sánh hồi quy cấp byteSetDocumentIDSeedcấp một seed tường minh cho định danh tệp có thể tái lập; không có seed, định danh được suy ra từ siêu dữ liệu tài liệu, header phiên bản và số trang
Changed
- Định danh tệp có thể tái lập được làm mới chỉ khi lưu đầy đủ; cập nhật tăng dần và tài liệu mã hóa giữ định danh hiện có để chữ ký và tệp bảo vệ mật khẩu tiếp tục mở đúng
Version 3.298.0
Added
AddLinkToArticleThreadvàSetOutlineArticleThreadkết nối các điểm nóng của trang và dàn bài với một luồng bài viết hoặc bead qua các hành động Thread chuẩnAddActionNextArticleThreadvàPDF_ACTION_BUILDER_THREADthêm các hành động Thread vào các quy trình làm việc hành động chuỗi, biểu mẫu, trang và tài liệu
Changed
- Các đích hành động Thread sử dụng các tham chiếu gián tiếp ổn định đến luồng và bead và từ chối các chỉ mục không hợp lệ mà không thay đổi vùng chứa đích
- Trình xây dựng hành động trường biểu mẫu từ chối các hành động bổ sung trong khi chế độ PDF/A đang hoạt động, giữ nguyên lệnh cấm PDF/A đối với các từ điển
/AAcủa trường và widget
Version 3.297.0
Added
- Tham chiếu DLL phẳng
DLhiện tài liệu hóa mọi điểm vào ANSI (char) có hậu tốA, thêm 353 trang tham chiếu phản chiếu các đối ứng Unicode với chữ ký DelphiPAnsiCharvà Cconst char *chính xác - Đã xây dựng lại
BufferUtilities,DirectAccessFunctionalityvàMiscellaneousFunctionsthành các trang chỉ mục nhóm hàm sạch được dẫn dắt bởi lược đồ danh mục dùng chung, sửa đánh dấu hỏng, mục nhãn sai và chip thiếu - Chỉ mục điều hướng và chỉ mục tìm kiếm dùng chung hiện bao phủ toàn bộ bề mặt DLL cho cả callers Unicode và ANSI
Fixed
- Đã gỡ bỏ mục
SetLoggercũ, vốn không có ký hiệu khớp trong mã nguồn; thuộc tính được tài liệu hóa làLogger
Version 3.296.0
Added
AddAlternateImage,AlternateImageCount,GetAlternateImageInfovàRemoveAlternateImagecung cấp soạn thảo và kiểm tra có kiểu của các biến thể hình ảnh hiển thị và in- Các hình ảnh thay thế có thể được liên kết với một nhóm nội dung tùy chọn hoặc từ điển thành viên, trong khi một biến thể cho mỗi hình ảnh cơ sở có thể được chọn làm mặc định in
Changed
- Trình kết dựng tích hợp hiện chọn hình ảnh thay thế nội dung tùy chọn khi hình ảnh cơ sở bị ẩn và tôn trọng mặc định in trên đích máy in
FindImageshiện đăng ký các XObject hình ảnh thay thế có thể tiếp cận từ tài nguyên trang để các biến thể nhập nhận handle hình ảnh dùng được
Version 3.295.0
Added
AddArticleThreadtạo điều hướng bài viết tuân thủ tiêu chuẩn với siêu dữ liệu có kiểu, hình chữ nhật trang có thứ tự, liên kết bead vòng và mảng bead theo trangArticleThreadCount,GetArticleThreadInfovàGetArticleThreadBeadkiểm tra các luồng bài viết đã tạo hoặc nhập với việc duyệt có giới hạn các chu trình liên kết hỏng
Changed
DeletePageshiện gỡ bỏ các luồng bài viết mất mọi bead và sửa các liên kết vòng của luồng còn sống- Theo dõi trang đã xóa hiện giữ các tham chiếu trang gián tiếp ổn định để việc dọn dẹp dàn bài và bài viết không thể trôi khi con trỏ cây trang di chuyển
Version 3.294.0
Added
SearchTextBatchtìm nhiều truy vấn văn bản khi mỗi lần trích xuất trang còn tồn tại và trả về chỉ mục truy vấn gốc không âm với mỗi lần trúngSearchTextBatchEachcung cấp cùng tìm kiếm một lần qua callback streaming với báo cáo tiến độ và hủy
Changed
- Tìm văn bản truy vấn đơn và hàng loạt hiện chia sẻ một lõi khớp, bảo toàn ngữ nghĩa phân biệt hoa thường, toàn từ và phạm vi trang trong khi tránh trích xuất trang lặp, gấp văn bản và tính toán hình học trúng
Version 3.293.1
Fixed
- Quá trình raster hóa đổ bóng lưới không còn thất bại biên dịch trên bất kỳ phiên bản Delphi nào, giải quyết
E2089 Invalid typecasttrên các ép kiểu thực-sang-dấu phẩy động trong bộ vẽ GDI+ - Kết dựng trang hàng loạt song song hiện biên dịch trên Delphi XE5 và XE6, nơi
System.Threadingkhông khả dụng; các toolchain cũ dự phòng về đường dẫn kết dựng nối tiếp như trên non-Windows - Thăm dò khả năng máy in không còn gây lỗi loại không tương thích trên các phiên bản Delphi cũ bằng cách căn chỉnh lệnh gọi
SetPrintervới phần còn lại của mã in - Liệt kê kho chứng chỉ hiện build được trên RAD Studio 10.3 Rio, vốn trước đó bỏ cuộc với lỗi trình biên dịch nội bộ khi tối ưu hóa routine liệt kê
Version 3.293.0
Added
- Các từ điển thành viên nội dung tùy chọn hiện có thể được tạo, cập nhật và liệt kê với các chính sách tương thích
AnyOn,AllOn,AnyOffvàAllOff - Biểu thức khả kiến
/VEPDF 1.6 lồng nhau hỗ trợAnd,OrvàNotqua biểu diễn tiền tố nhỏ gọn dùng chung bởi Delphi và C++Builder
Changed
- Phạm vi nội dung tùy chọn, luồng nội dung, trang đã chụp, hình ảnh, trường biểu mẫu và chú thích hiện chấp nhận handle nhóm hoặc handle thành viên
- Kết dựng đánh giá các biểu thức
/VEhợp lệ trước và dự phòng về/OCGscộng/Pcho biểu thức sai định dạng hoặc không hỗ trợ
Fixed
- Nội dung tùy chọn lồng nhau không còn có thể làm nội dung khả kiến khi nhóm hoặc thành viên bao quanh bị ẩn
- Các từ điển thành viên không có nhóm nội dung tùy chọn hiệu quả hiện để khả kiến không đổi như yêu cầu bởi đặc tả PDF
Version 3.292.0
Added
EnumAttachmentshiện báo cáo ngày tạo và sửa đổi, checksum thập lục phân, quan hệ tệp liên kết và số đối tượng spec tệp cho cả tệp đính kèm tài liệu và chú thíchValidateAttachmentChecksumxác minh payload đính kèm với checksum đã lưu theo yêu cầu, trong khi các tệp nhúng mới hiện tự động nhận metadata checksum
Fixed
SetEmbeddedFileAFRelationshiphiện chấp nhận cùng chỉ mục tệp nhúng cơ sở 1 như phần còn lại của API đính kèm, bao gồm tài liệu đính kèm đơn
Version 3.291.0
Added
DeduplicateResourceshiện hợp nhất các luồng hình ảnh, Form, mẫu, đổ bóng, hàm, profile ICC, chương trình phông, CMap, CharProc Type 3, tệp nhúng, metadata và PostScript trùng lặp chính xác trên một tài liệu đã tải- Khử trùng lặp tài nguyên cung cấp cờ kiểu độc lập, phân tích dry-run, thu thập orphan tùy chọn và thống kê chi tiết về băm, so sánh, payload, tham chiếu và theo danh mục
Changed
- Phát hiện trùng lặp chuẩn hóa các từ điển luồng hoàn chỉnh độc lập với thứ tự khóa, băm mỗi payload ứng viên một lần bằng SHA-256 và xác nhận các bucket khớp từng byte trước khi chuyển hướng tham chiếu
- Các nhóm tương đương chính xác giữ số và thế hệ đối tượng thấp nhất cho đầu ra tất định, trong khi các chu trình đối tượng trực tiếp sai định dạng và khác biệt từ điển ngữ nghĩa vẫn không hợp nhất
Version 3.290.0
Changed
PurgeUnusedResourceshiện tính bao đóng phụ thuộc bắc cầu qua các mẫu lát, glyph Type 3, trạng thái ngoại hình chú thích, nhóm soft-mask ExtGState, hình ảnh, đổ bóng và không gian màu lồng nhau- Các tùy chọn dọn dẹp mặc định hiện bật phân tích phụ thuộc mẫu, Type 3, ngoại hình, soft-mask và hình ảnh, với cờ độc lập cho callers cần quét hẹp hơn
- Các chương trình nội dung lồng nhau và mục phụ thuộc được đệm, phạm vi tài nguyên chia sẻ được tư nhân hóa trước khi tỉa, và các chu trình sai định dạng được giới hạn bởi các bảo vệ active-stream và độ sâu
Fixed
- Các tài nguyên trang chỉ được dùng qua không gian màu hình ảnh, cơ sở Indexed, thay thế Separation hoặc DeviceN, không gian cơ sở Pattern, thay thế ICCBased hoặc từ điển đổ bóng không còn bị gỡ như không dùng
- Các tài nguyên chỉ dùng bởi CharProcs Type 3, ô mẫu lát, ngoại hình chú thích hoặc nhóm soft-mask trong suốt không còn bị gỡ khỏi phạm vi riêng hoặc kế thừa của chúng
Version 3.289.0
Added
PurgeUnusedResourceshiện gỡ bỏ các tài nguyên trang được đặt tên không được tham chiếu bởi các lớp nội dung đã chọn và có thể trả thống kê chi tiết theo danh mục- Dọn dẹp tài nguyên hiện hỗ trợ phạm vi trang, báo cáo dry-run, tiến độ và hủy, phân tích Form XObject đệ quy, gỡ ProcSet bỏ dùng và thu thập đối tượng orphan tùy chọn
Changed
- Phân tích tài nguyên hiện tuân theo phân biệt hoa thường tên PDF, tài nguyên Form kế thừa, không gian màu ảnh nội tuyến tùy chỉnh và cả bảy danh mục tài nguyên chuẩn
- Các chương trình Form lặp lại được đệm, các tập tài nguyên đã dùng dùng tra cứu sắp xếp, và các mục từ điển được gỡ theo thứ tự giảm cho hiệu năng tài liệu lớn dự đoán được
Fixed
- Việc gỡ mục từ điển hiện làm mất hiệu lực các chỉ mục khóa từ điển lớn để các tra cứu sau không thể trả mục cũ
- Các luồng sai định dạng và toán tử không rõ giữ phạm vi tài nguyên hoàn chỉnh theo mặc định, trong khi từ điển tài nguyên chia sẻ hoặc kế thừa được nhân bản trước khi đột biến
Version 3.288.0
Added
- Chữ ký số hiện có thể phát các cấu trúc khóa trường DocMDP chứng nhận và FieldMDP hoàn chỉnh, với báo cáo quyền cấu trúc cho mỗi chữ ký đã chọn
- Dấu thời gian tài liệu RFC 3161, dấu thời gian chữ ký, tiêm token PAdES-B-T, xác minh chuỗi chứng chỉ, bằng chứng OCSP và tài liệu xác minh DSS hoặc VRI hiện có quy trình soạn thảo và xác minh hoàn chỉnh
- Chú thích RichMedia hiện hỗ trợ tài sản nhúng, cài đặt kích hoạt và hủy kích hoạt, ngoại hình poster, liệt kê, trích xuất và gỡ bỏ
- In poster hiện hỗ trợ áp đặt trang vector, dấu chồng và crop, đặt nhận thức hard-margin và kế hoạch lát tái sử dụng
- Các bảng gắn thẻ hiện phát cấu trúc Table, TR, TH và TD ngữ nghĩa với định danh ổn định, kết liên tiêu đề, span, tiêu đề lặp và trang trí artifact hóa
- Trình xem hiện cung cấp chỉnh sửa AcroForm truy cập bàn phím cho trường văn bản, chọn, hộp kiểm, nút radio và nút nhấn trong khi điều phối hành động tới ứng dụng chủ
Changed
- Đổ bóng Type 1 dựa hàm và Type 4 đến 7 dạng lưới hiện kết dựng qua đánh giá hàm native và tessellation lưới có giới hạn
- Kết dựng màu ICCBased hiện chia sẻ các biến đổi đệm qua hình ảnh và đổ bóng trong khi bảo toàn hành vi không gian màu đã hiệu chuẩn
- Lưu gia tăng hiện xây dựng lại các luồng đối tượng và luồng tham chiếu chéo nhất quán, và các chữ ký đã chọn được xác minh với chính bản sửa đổi đã ký của chúng
Fixed
- Các yêu cầu dấu thời gian chữ ký SHA-1 hiện băm giá trị chữ ký của người ký bằng SHA-1 thay vì dự phòng về SHA-256
- Việc thay thế khóa trường bị từ chối không còn vứt bỏ cấu hình khóa trường hợp lệ trước đó
- Các widget radio với tên trạng thái ngoại hình trùng lặp hiện giữ widget đã chọn và giữ các widget anh em tắt
Version 3.287.0
Changed
- Các từ điển ảnh nội tuyến hiện tuân theo ranh giới chú thích, phân giới, literal, thập lục, mảng và từ điển PDF với lồng nhau có giới hạn
- Các payload ảnh nội tuyến hiện dùng kết thúc nhận thức định dạng cho dữ liệu raw, DCT, ASCII85, ASCIIHex, RunLength và Flate
- Khám phá payload Flate hiện thực hiện một inflate có giới hạn từ offset luồng nội dung với tính toán byte nén chính xác, trong khi các bộ lọc lossless dây chuyền chia sẻ trần output end-to-end
- Các luồng ASCII85, ASCIIHex, LZW, predictor, profile màu và ảnh phụ hiện ép buộc output trung gian có giới hạn mà không có cấp phát tạm quá lớn
Fixed
- Các ảnh nội tuyến sai định dạng hoặc cắt cụt không còn đọc vượt dữ liệu nguồn, lặp trên giá trị không kết thúc hoặc giữ trạng thái cũ qua việc tái sử dụng decoder
- Các hàng ảnh packed hiện tính bit thành phần trước khi làm tròn byte, ngăn chiều dài sai cho ảnh RGB thấp-bit và đa hàng
- Các không gian màu tài nguyên hiện giữ tên gốc trong khi suy ra số thành phần Lab, ICCBased gián tiếp và DeviceN và giải mã luồng palette Indexed dưới giới hạn nghiêm ngặt
- Các ranh giới ảnh nội tuyến hiện từ chối nhất quán các chiều, độ sâu bit, bộ lọc không hỗ trợ, chuỗi bộ lọc không an toàn, luồng nén và dấu kết thúc mơ hồ
- Kết dựng màu Indexed hiện xác minh mọi truy cập palette và từ chối dữ liệu tra cứu cắt cụt thay vì đọc vượt bảng đã giải mã
- Các predictor PNG 10 đến 15 hiện giải mã đúng cho luồng Flate và LZW, từ chối bộ lọc hàng sai và xác minh mọi kích thước hàng và trạng thái trước khi cấp phát
- Các payload JPEG và JPEG 2000 hiện xác minh chiều, thành phần, độ chính xác, cấu trúc marker, chiều dài box và dấu chân lưu trữ đã giải mã trước khi cấp phát ảnh
- Xác thực ảnh nội tuyến hiện giới hạn cả lưu trữ bitmap packed và mở rộng và giới hạn các profile ICC, global JBIG2 và tham số bộ lọc terminal
- Các payload bộ lọc nhị phân chứa văn bản dấu kết thúc nhúng hiện tiếp tục tới ứng viên đầu tiên vượt qua xác thực định dạng có giới hạn
Version 3.286.0
Đã thay đổi
- Phân tách token của content stream nay tuân theo các biên khoảng trắng, chú thích, dấu phân cách, chuỗi literal, chuỗi thập lục phân và name của PDF
- Chia văn bản và thay thế tài nguyên nay dùng các buffer đầu ra tăng theo cấp số nhân để xử lý tuyến tính các content stream lớn
- Các bộ xử lý content stream dùng lại được nay đặt lại đầu ra dẫn xuất và trạng thái parser trước mỗi lệnh gọi
Process
Đã sửa
- Chuỗi literal và thập lục phân dị dạng hoặc bị cắt cụt không còn đọc vượt quá buffer nguồn hay phát ra một token rỗng thừa
- Thay thế tài nguyên nay giữ nguyên ngữ nghĩa name PDF phân biệt chữ hoa chữ thường, chấp nhận các dấu gạch chéo đầu tùy chọn, và cập nhật các ánh xạ trùng lặp một cách tất định
- Toán tử XObject và shading ở đầu một stream nay bị loại khỏi đầu ra văn bản, trong khi toán tử restore không khớp không còn hủy các trạng thái đồ họa đã lưu sau đó
Version 3.285.0
Đã thay đổi
- Mã hóa LZW nay dùng tra cứu từ điển thời gian hằng và ghi stream có đệm, trong khi giải mã dùng các bảng tiền tố và hậu tố gọn với đầu ra tăng theo cấp số nhân
- Giải mã predictor Flate nay xử lý các hàng trực tiếp trong buffer đầu ra và hỗ trợ mẫu TIFF packed, 8-bit và 16-bit với số màu tùy ý
- Các stream Deflate kiểu stored nay ghi vào một kết quả cỡ trước chính xác, và các wrapper zlib giải phóng buffer tạm an toàn khi nén hoặc giải nén thất bại
Đã sửa
- Thay đổi độ rộng mã LZW nay tuân theo ngữ nghĩa
EarlyChangecủa PDF trên các mã 9-bit đến 12-bit, bao gồm đặt lại từ điển vàEarlyChange=0 - Giải mã LZW nay từ chối các mã future không hợp lệ và dòng bit bị cắt cụt mà không đọc vượt buffer nguồn
- Các predictor PNG nay dùng độ rộng byte làm tròn lên của một pixel, giữ lại các hàng đã giải mã trước đó, và đệm an toàn hàng cuối chưa trọn
- Giải mã predictor TIFF nay xử lý các thành phần 1-bit, 2-bit, 4-bit, 8-bit và 16-bit nhất quán trên cả hai đường LZW và Flate
Version 3.284.0
Đã thay đổi
- Tìm kiếm trên buffer nay quét các khối 64 KiB cố định, dùng bảng tra cứu byte cho tư cách thành viên tập hợp, và giữ vị trí của bên gọi xuyên suốt mọi đường tìm kiếm
- Các chuyển đổi Unicode, Latin-1, digest thập lục phân và ARC4 nay cấp phát đầu ra có giới hạn một lần thay vì liên tục phình to chuỗi hoặc mảng tạm
- Mã hóa ASCII85 nay đọc các stream đầu vào theo khối 32 KiB, trong khi giải mã dùng số học số nguyên chính xác và ghi trực tiếp vào buffer đầu ra cỡ trước
- Băm chuỗi MD5 nay tránh một memory stream tạm, so sánh digest kiểm tra từng byte, và lập lịch khóa ARC4 không còn cấp phát một mảng khóa mở rộng
Đã sửa
DistanceToAnyBytenay trả về offset đúng vượt quá khối đầu tiên của nó thay vì đọc lại cùng phần đầu và đếm thừa các byte bị bỏ qua- Các lượt đọc buffer dựa trên stream nay tôn trọng số byte thực tế do stream tùy chỉnh trả về, thu nhỏ kết quả và tăng vị trí chỉ theo số byte nhận được
- Việc rút ngắn độ dài buffer nay kẹp vị trí hiện tại, và các nguồn con trỏ nil hoặc stream hoạt động như đầu vào rỗng thay vì để lộ bộ nhớ không hợp lệ
- Giải mã Latin-1 nay ánh xạ toàn dải byte 0x00-0xFF thay vì thay thế các byte 0x7F-0xFF
- Giải mã ASCII85 nay bảo toàn nhóm 32-bit tối đa hợp lệ
s8W-!và dừng ở dấu kết thúc đầu tiên mà không mất biên dấu phẩy động
Version 3.283.0
Đã thêm
TPDFlibSignatureVerifiernay có thể liệt kê các trường chữ ký và bên ký CMS, mở tệp, stream hoặc chuỗi, và xác minh một trường cùng bên ký được chọn theo chỉ số hoặc tên trường- Các báo cáo xác minh chi tiết nay tách tính toàn vẹn mật mã khỏi độ phủ bản-đã-ký, độ phủ tệp-hiện-tại, các bản lưu sau, xác thực khoảng trống Contents nghiêm ngặt, và các lỗi crypto gốc
Đã thay đổi
- Xác thực CMS detached nay đưa cả hai đoạn ByteRange qua Windows CryptoAPI theo các khối có giới hạn thay vì hiện thực hóa toàn bộ PDF trong bộ nhớ
- Các trường chữ ký nằm dưới các mảng Kids AcroForm lồng nhau và các mục
/FT /Sigkế thừa nay được liệt kê với tên đầy đủ, và các từ điển giá trị chữ ký trực tiếp được hỗ trợ
Đã sửa
- Xác thực ByteRange nay từ chối tràn số, chồng lấn, cắt cụt, khoảng hở không đúng là token thập lục phân
/Contentsđã chọn, và bản-đã-ký không kết thúc tại%%EOFcủa chính nó - Tra cứu chứng thư không còn dự phòng sang một chứng thư nhúng không liên quan khi định danh bên ký CMS được chọn không có cặp phát-hành-và-số-thứ-tự khớp chính xác
- Các bản cập nhật lũy tiến dùng stream tham chiếu chéo nay bao gồm mục kiểu 1 của chính đối tượng stream tham chiếu chéo, ngăn các trình xác thực PDF nghiêm ngặt báo thiếu mục tự trỏ sau khi ký
Version 3.282.1
Đã thay đổi
- Lưu đầy đủ nay dựng lại các object stream nhập vào từ đồ thị đối tượng đang sống, giữ các gốc trailer riêng, và bảo toàn thế hệ đối tượng-tự-do mà không tái sử dụng các số đối tượng cấu trúc
- Stream tham chiếu chéo nay cỡ các trường offset cho tệp lớn, cấp phát trước payload, bao gồm mục của chính nó, và giữ các khóa mở rộng trailer
Đã sửa
- Đóng gói object stream nay ghi các container
/ObjStmthực sự và các mục thành viên kiểu 2 thay vì chỉ chuyển sang xref stream - Thu gom rác không còn ghi các số đối tượng thiếu thành mục đang-dùng tại offset 0, mà nay phát ra một chuỗi đối tượng-tự-do liên kết trong cả hai dạng tham chiếu chéo plaintext và stream
- Các PDF đóng gói đã nạp nay có thể được lưu lặp lại với đóng gói bật hoặc tắt mà không giữ lại object stream cũ, mất thành viên đang sống, hay cần sửa tham chiếu chéo
Version 3.282.0
Đã thêm
- Màu ICCBased nhập vào nay dùng hồ sơ ICC nhúng xuyên qua vẽ vector, shading function và mesh, bảng màu indexed, bitmap thô, ảnh CCITT và JBIG2, ảnh JPEG CMYK, và ảnh JPEG 2000
Đã thay đổi
- Các phép biến đổi ICC nay dùng bảng tra cứu Windows Color System có giới hạn với nội suy đa tuyến tính, thay cho vòng PNG tạm thời từng dùng khi kết xuất ảnh
- Bộ kết xuất nay tôn trọng các rendering intent của content stream và trạng thái đồ họa,
/RangeICCBased,/Decodeảnh, và các mask colour-key miền gốc, trong khi xác thực số kênh hồ sơ với từ điển không gian màu PDF - Các lần dùng lặp lại cùng hồ sơ và rendering intent nay dùng chung một bảng tra cứu qua màu vector, pattern, shading, và ảnh
Đã sửa
- Các stream hồ sơ ICC mã hóa nay chỉ được giải mã trong lúc giải mã và được khôi phục sau đó, và các hồ sơ nhúng không còn bị nén hai lần khi ghi đầu ra ảnh
Version 3.281.0
Đã thêm
- Bộ kết xuất GDI+ tích hợp sẵn nay vẽ các shading dựa-trên-function PDF nhập vào và các shading mesh free-form, lattice, Coons, và tensor (kiểu 1 và 4-7), bao gồm cả độ trong suốt và cắt
- Các từ điển shading nay hỗ trợ mảng Function thành phần, các không gian Lab, CalGray và CalRGB hiệu chuẩn, các biến đổi tint Separation và DeviceN, tô Background PatternType 2, và cắt BBox trên cả hai bộ kết xuất GDI+ và Cairo
Đã thay đổi
- Các function shading kiểu 1 nay dùng lấy mẫu màu thích nghi có giới hạn với các probe phần-tư-ô bổ sung để tăng độ chính xác trên đặc-trị-hẹp và giảm công việc trên vùng đồng nhất hoặc nhẵn
- Các ma trận PatternType 2 quanh shading mesh nay được hợp thành đúng một lần ở cả GDI+ và Cairo, giữ nguyên vị trí pattern đã tịnh tiến, thu phóng và xoay
- Các thành phần màu mesh nay được nội suy trong không gian màu nguồn của chúng trước khi đánh giá Function và chuyển sang RGB, bảo toàn các function phi tuyến, gradient DeviceCMYK, và thứ tự đúng cho các phép biến đổi màu được quản lý
- Các bề mặt Coons và tensor nay dùng phân chia theo sai số device-pixel có giới hạn để cho đầu ra cong nhiều mượt hơn ở kích thước kết xuất lớn
- Các stream shading và Function mã hóa được giải mã qua các callback crypt của tài liệu, và các bản ghi vertex kiểu 5 tôn trọng độ căn byte bắt buộc của chúng
Version 3.280.1
Đã sửa
MergeFileList/MergeFileListFast/MergeFileListStrictrò rỉ một cặpTSmartPDFReader/TSmartPDFDocument(và mọi thứ chúng sở hữu) khi một tệp không phải PDF xuất hiện trong danh sách gộp: reader và tài liệu được dựng trước khốitrygiải phóng chúng, nên lỗi phân tích trên nội dung tệp dị dạng khiến reader đã dựng trở thành mồ côi thay vì được dọn bởi bộ xử lý ngoại lệ bao quanh; việc dựng nay diễn ra bên trongtrybảo vệ ở cả hai đường prescan một-tệp và nhiều-tệp- Phân tích shading mesh (
TPLMeshShading.Parse, kiểu shading 1 và 4-7) rò rỉ đối tượng/Functionđã giải mã ở mỗi lần phân tích - mọi đường thoát sớm lẫn kết thúc bình thường đều bỏ qua việc giải phóng nó; function nay được giải phóng trong khốifinallybất kểParsethoát ra thế nào TPDFlibSignDoc.Closenay gán nil các trường smart-reader/document/info sau khi giải phóng chúng, và các đường ngoại lệ trongOpen,OpenStreamvàOpenStringnay giải phóng mọi smart object được dựng một phần thay vì chỉ xóa tham chiếu stream, ngăn rò rỉ khi việc mở một đích ký thất bại giữa chừng
Version 3.280.0
Đã thêm
- Liệt kê danh mục lỗi
TPDFlibErrorCategory(ecSuccess/ecStructure/ecSave/ecCrypto/ecGeneric/ecCompliance/ecAcroForm) xếp lớp trên hệ phân loại sốLastErrorCodehiện có, nên bên gọi có thể phân loại thất bại không cần nhớ các dải mã; được hiển thị quaTPDFlib.LastErrorCategory,TPDFlib.ErrorCategory(Code)vàTPDFlib.ErrorMessage(Code) - Các mã lỗi trường-biểu-mẫu 701-704 (không tìm thấy trường, trường chỉ đọc, không có AcroForm, giá trị không hợp lệ) kèm thông điệp dễ đọc, giúp bên gọi phân biệt "trường bị khóa" với "không có trường đó" thay vì chỉ nhận một thất bại chung chung
- Biến thể ghi-cưỡng-bức
SetFormFieldValueForcedbỏ qua bộ chặn chỉ đọc, được dùng nội bộ bởiSetFormValues(SkipReadOnly=False)để nhập hàng loạt vẫn có thể ghi đè các trường bị khóa khi bên gọi lựa chọn rõ ràng
Đã thay đổi
SetFormFieldValuenay đặtLastErrorCodethành 701/702/703 khi thất bại (không tìm thấy trường / chỉ đọc / không có AcroForm) thay vì âm thầm trả về 0;LastErrorCategorylà lượt đọc không tiêu thụ nên bên gọi có thể xem danh mục trước khi lấy mã số
Version 3.279.0
Đã thêm
ReplacePageRangesthay nội dung hiển thị của trang từ một tài liệu đang mở khác mà không đổi số trang đích hay danh tính đối tượng trang đích, giữ lại các bookmark, liên kết, chú thích và widget biểu mẫu đã gắn trên các trang đó
Đã thay đổi
- Sao chép trang giữa các tài liệu không còn tạo rồi xóa một trang placeholder thừa trước khi nhập dải được yêu cầu
Version 3.278.0
Đã thêm
PrintPagesAdvancedáp dụng các thiết lập bản-sao, collation, duplex, hướng, màu, chất lượng, khổ giấy và khay-nạp vào các biểu thức dảiPrintPagestùy ý, trong khi vẫn giữ một hồ sơ máy in và một lệnh in
Đã thay đổi
- Các thiết lập in nâng cao được xác thực trước khi lệnh bắt đầu, các giá trị chất lượng in dương vượt bốn preset có tên được áp dụng như DPI, và định danh giấy hoặc khay-nạp có thể dùng toàn dải dương mà các trường
DEVMODEtương ứng hỗ trợ
Đã sửa
- Khôi phục tham chiếu chéo hỏng nay điều phối các lượt đọc khối có giới hạn qua override
TStream.Readtruyền thống trên Win64, giữ instrumentation và hành vi stream tùy chỉnh trong khi vẫn duy trì I/O tuần tự 64 KiB
Version 3.277.0
Đã thay đổi
- Khôi phục tham chiếu chéo hỏng nay quét dữ liệu nguồn theo các khối tuần tự 64 KiB thay vì seek một lần cho mỗi ký tự khớp, giữ bộ nhớ phụ có giới hạn trong khi vẫn mở rộng được cho các tệp PDF lớn và stream ngoài bộ nhớ
- Khôi phục xác thực các token đối-tượng-gián-tiếp hoàn chỉnh, bỏ qua dữ liệu giống-đối-tượng bên trong chú thích, chuỗi và stream, xác nhận kết thúc stream bằng token
endobjtheo sau, giữ các tiêu đề bị cắt qua biên đọc, và chọn từ điển trailer hợp lệ cuối cùng
Đã sửa
- Tái dựng trailer nay hỗ trợ từ điển lồng nhau và văn bản phân cách bên trong chuỗi literal, và không còn bị cắt còn 2048 byte đầu hay cặp
>>đầu tiên trông thấy
Version 3.276.0
Đã thêm
ActivateWebLinksvàActivateWebLinksExquét văn bản trang hiện có một lần mỗi trang và tạo các chú thích liên kết URI không trùng lặp cho các đích HTTP, HTTPS,www., FTP,mailto:và email trần, với các tùy chọn phát hiện và viền chọn được- Các liên kết được sinh dùng hình học theo ký tự khớp, tứ giác chính xác cho văn bản xoay hoặc xiên khi được phép, các cờ in PDF/A, hỗ trợ tiến trình và hủy, cùng khôi phục trang-đã-chọn; các tài liệu tagged PDF và PDF/UA được bảo vệ khỏi các bản cập nhật cây cấu trúc chưa trọn
Đã thay đổi
SetAutoCreateWebLinksnay dùng cùng bộ phát hiện nhận-biến và chuẩn hóa đích khi tạo liên kết cho văn bản vừa vẽ, bổ sung hỗ trợwww., FTP và email trần
Đã sửa
- Cập nhật các thuộc tính
/Contents, tên, ngày, tiêu đề hoặc chủ đề của chú thích không còn ghi đè phân loại của từ điển hành động hiện có, nên hành động URI và các hành động khác vẫn hợp lệ sau khi siêu dữ liệu chú thích thay đổi
Version 3.275.0
Đã thêm
ExtractPageRangeText,SavePageRangeTextToStreamvàSavePageRangeTextToFiletrích xuất một dải trang đã phân tích trong một lượt duyệt với các dấu phân cách trang do bên gọi định nghĩa; đầu ra stream và tệp ghi dữ liệu UTF-8 theo kiểu tăng dần nên các tài liệu lớn không cần một buffer văn bản cỡ cả tài liệuSetPageBoxRangevàRemovePageBoxRangeáp dụng các thay đổi biên trang trên toàn bộ cú pháp dải trang chuẩn, trong khi giữ trang mà bên gọi đã chọnSetPageTransitionRangevàSetPageTransitionRangeExáp dụng các hiệu ứng chuyển trình bày kiểu cũ hoặc mở rộng cho các dải trang với hỗ trợ tiến trình và hủy theo từng trangGeneratePageThumbnailskết xuất các trang được yêu cầu trực tiếp vào bộ nhớ dùng lại được và gắn các ảnh/Thumbcủa chúng mà không có tệp trung gian hay thao tác tiến trình lồng nhau
Version 3.274.0
Đã sửa
- Kết xuất GDI+ các pattern shading trục nay tôn trọng mảng
/Extendcủa PDF:SetupGDIPlusPatterntruyềnWrapModeClampkhi một trong hai đầu được kéo dài (khớp backend Cairo) thay vì luôn dùngWrapModeTile, nên các màu đầu tô đúng vùng ngoài trục gradient
Đã thêm
- Bong bóng gợi-ý-cuộn (
"Page N / M") hiện khi kéo thanh cuộn dọc nay tự ẩn sau 3 giây không hoạt động qua một handlerWM_TIMER, nên nó không còn lưu lại cho đến khi một sự kiện cuộn riêng đóng nó ZoomInStep/ZoomOutStepnay bám vào các mức phần trămActualSize(100%),FitWidthvàFitPagekhi chúng rơi giữa mức thu phóng hiện tại và preset kế tiếp trên thang 14 bậc, khớp hành vi của các trình xem PDF chuyên nghiệp- Cache trang trên đĩa của trình xem ghi một marker phiên bản dựng (
cache.version) và quét sạch gốc cache khi phiên bản thư viện thay đổi, nên nâng cấp bản dựng không bao giờ dùng lại các bitmap cũ do đường mã cũ hơn kết xuất
Version 3.273.1
Đã sửa
- Các đối tượng container object-stream và xref-stream tạo khi lưu đã bị rò rỉ vì vượt qua đăng ký
TPDFStructure.AddObject; cả hai điểm gọi nay dùng nhà máy theo-dõi-quyền-sở-hữuNewStreamWithDict, loại bỏ rò rỉTPDFStreammà test runner báo cáo dướiReportMemoryLeaksOnShutdown /Sizecủa stream tham chiếu chéo trước đây lệch một: nó phải lớn hơn số đối tượng cao nhất trong toàn tệp một đơn vị, và xref stream tự thân là một đối tượng gián tiếp đánh sốMaxObj+1, nên/Sizenay làMaxObj+2
Đã thay đổi
- Bộ tối ưu peephole content-stream nay còn loại các toán tử ma-trận-văn-bản đồng nhất (
1 0 0 1 0 0 Tm), bao phủ cảcmvàTmbằng cùng một phép kiểm tra đồng nhất sáu toán hạng - GC mark-sweep bảo toàn đối tượng 1 (từ điển tham số
/Linearized) khi tài liệu nguồn được nạp ở dạng linearized, vì từ điển đó không bao giờ được tham chiếu từ/Rootnhưng phải tồn tại
Version 3.273.0
Đã thêm
- Đóng gói object stream khi lưu (
TPDFDocument.PackObjectsIntoStreams) thu thập các đối tượng gián tiếp không-phải-stream đủ điều kiện, tuần tự hóa chúng thành các object stream PDF 1.5 (/Type /ObjStm) với nén Flate, và phát ra một stream tham chiếu chéo nhị phân (/Type /XRef) mang các mục kiểu-0, kiểu-1 và kiểu-2, giảm kích thước tệp lưu 10-40% trên các tài liệu dày đối tượng - Cờ
TPDFlibSaveOptions.PackObjectStreamscùng APITPDFlib.SetPackObjectStreams/GetPackObjectStreams; mặc định bật, tự chặn theo phiên bản PDF (1.5+ kích hoạt đóng gói và xref stream, 1.4 trở xuống giữ xref plaintext truyền thống để tương thích), vàTPDFlib.GetLastSaveUsedObjectStreamsbáo cáo lần lưu cuối có thực sự đóng gói hay không
Version 3.272.0
Đã thêm
- Thu gom rác mark-sweep các đối tượng gián tiếp không được tham chiếu (
TPDFDocument.GarbageCollectUnusedObjects) đi qua đồ thị đối tượng từ các gốc trailer (/Root,/Info,/Encrypt) và xóa mọi đối tượng gián tiếp không với tới được, chặn đứng sự phình to kích thước tệp tích lũy khi các trang bị xóa và tài nguyên phông, nội dung cùng XObject của chúng trở thành mồ côi - Cờ
TPDFlibSaveOptions.GarbageCollectcùng APITPDFlib.SetGarbageCollect/GetGarbageCollectcho phép bên gọi chọn dùng GC khi lưu đầy đủ (mặc định tắt để tương thích ngược), vàTPDFlib.GarbageCollectObjectschạy GC ngay lập tức và trả về số đối tượng mồ côi đã xóa
Version 3.271.0
Đã thêm
- Bộ tối ưu peephole content-stream (
TPDFContentPeepholeOptimizer) viết lại stream nội dung trang đã phân tích trước khi nén Flate, loại bỏ các toán tử PDF dư thừa về ngữ nghĩa: các ma trậncmđồng nhất, cặpq/Qrỗng, đối tượngBT/ETrỗng, đường no-op kết thúc bằngnkhông có cắt, các bộ đặt trạng thái đồ họa trùng lặp (màu, độ rộng nét, cap/join, gạch, trạng thái văn bản), vànchết sau toán tử tô - mọi phép biến đổi đều tương đương về đầu ra nên kết quả hiển thị trang không đổi - Cờ
TPDFlibSaveOptions.OptimizeContentStreamscùng API tương ứngTPDFlib.SetOptimizeContentStreams/GetOptimizeContentStreamscho phép bên gọi chọn dùng hay không viết lại peephole trongCompressContent/CompressPage; bật theo mặc định
Đã thay đổi
TPDFDocument.CompressPagenay chuyển tiếp cờ tối ưu tới cây trang để lượt peephole chạy bên trongTPDFPageTree.Compresstrước phần nén Flate hiện có, chồng việc thu gọn cấp toán tử lên trên nén cấp byte
Version 3.270.0
Đã thêm
PLParseDefaultAppearancemới giải mã chuỗi byte giao-diện-mặc-định/DA(ISO 32000-2 12.7.4.3) thành tên tài nguyên phông, cỡ phông và màu tô, bao phủ các toán tử màurg,kvàGđể các bộ sinh giao diện trường-biểu-mẫu và chú thích có thể tô văn bản đúng phong cách tác giả dự định
Đã thay đổi
- Việc lắp ghép content-stream trang (
TPDFRenderer.GetContents) nay nối các mảng/Contentsnhiều phần quaTStringBuilderthay vìResult := Result + chunklặp lại, loại bỏ sự phình chuỗi O(n^2) từng làm chậm các trang có nhiều phần content-stream
Version 3.269.0
Đã thêm
BeginMarkedContent/EndMarkedContentmới ghi các dãy nội-dung-đánh-dấu nội tuyến với các thuộc tính trợ năng (/Alt,/ActualText,/Lang,/E) trực tiếp trong danh sách thuộc tính BDC theo ISO 32000-2 14.9.2–14.9.5, nên trình đọc màn hình và công cụ trợ năng có thể đọc văn bản thay thế mà không cần mục cây cấu trúc- Trình đọc chú thích hiển thị
GetAnnotEffectiveBordercài đặt độ ưu tiên Errata #287 (từ điển kiểu viền/BSthắng mảng/Bordercũ) và phân giải độ rộng, kiểu cùng mẫu gạch trong một lệnh gọi - Tài liệu chữ ký hiển thị
GetSignatureSeedValueđể đọc từ điển seed-value (/SV, ISO 32000-2 12.7.5.5 Bảng 236–237): filter bắt buộc, các SubFilter cho phép và các phương pháp digest cho phép, nên bên ký có thể tuân thủ các ràng buộc tác giả đã nhúng GetSignatureFieldLockđọc từ điển seed FieldMDP/Lock(Bảng 238): hành động (/All,/Include,/Exclude) và các tên trường bị ảnh hưởng phải được khóa lúc ký
Version 3.268.0
Đã thêm
PLParsePDFDatemới phân tích các chuỗi ngày ISO 32000-2 7.9.4 (D:YYYYMMDDHHmmSSOHH'mm') thànhTDateTimeđịa phương, tôn trọng tiền tốD:bắt buộc, bậc phụ-thuộc-trường (mỗi trường chỉ khi mọi trường trước đó hiện diện) và offset UT (+/-/Zvới phút-dấu-nháy tùy chọn), trả về giá trị địa phương tương ứng của thời điểm đã ghi tài liệu- Giải mã text-string (
PLDecodeTextString) nay nhận diện BOM UTF-8 của PDF 2.0 (EF BB BF) theo 7.9.2.2.1, nên siêu dữ liệu viết bằng UTF-8 được giải mã đúng thay vì bị đọc nhầm thành PDFDocEncoding - Các đặc tả tệp hiển thị
GetFileNametôn trọng độ ưu tiên PDF 2.0 (Path > UF > F) theo Errata #444, cùng các accessorGetEmbeddedFileStreamvàGetRelatedFilescho các từ điển/EFvà/RF - Các trình đọc chú thích hiển thị các helper ưu-tiên-giao-diện
GetAnnotNormalAppearance,GetAnnotDefaultAppearancevàGetAnnotOffStateAppearancecài đặt các quy tắc Errata #23/#34/#42/#170 (AP/N là tối cao; DA là phương án dự phòng chuỗi-byte; trạng thái Off nằm dưới tênOff) - Xác thực PDF/UA báo một mã mới 10045 khi một loại cấu trúc không chuẩn không kết thúc được ở một loại chuẩn qua chuỗi role-map (ISO 14289-1:2014 7.1), có bảo vệ chu trình đến độ sâu 8
- Kiểm toán phông PDF/A và PDF/UA nay xác thực rằng các phông CIDFontType2 nhúng mang một
/CIDToGIDMapcó giá trị là tênIdentityhoặc một stream, chứ không chỉ hiện diện (ISO 32000-1 9.7.4)
Đã thay đổi
- Tra cứu name-tree (
NameTreeLookup) nay tìm kiếm nhị phân trên mảngNamesđã sắp theo ISO 32000-2 7.9.6 trước khi quay về quét tuyến tính, biến các lượt tra cứu EmbeddedFiles/JavaScript/Dests lớn từ O(n) thành O(log n) trên các tệp tuân thủ - Tập loại-cấu-trúc-chuẩn PDF/UA được mở rộng với các bổ sung PDF 2.0 (
Artifact,DocumentFragment,FENote,MarkedContent,Title) để các kiểm tra không-ánh-xạ-lại của role-map và kết-thúc-chuỗi nhận diện đầy đủ vốn từ thẻ
Version 3.267.0
Đã thêm
EnumPageContentStatesExcó thể liệt kê đệ quy các chỉ dẫn Form XObject với độ sâu cấu hình được, bảo vệ chu trình và thứ tự thực thi depth-first- Các ảnh chụp nội dung nay hiển thị danh tính cây-lời-gọi, thông tin stream chứa và XObject cha, danh tính phạm-vi-tài-nguyên, trạng thái duyệt Form và số lượng hậu duệ
- Các bộ theo dõi nội dung độc lập có thể đăng ký phông theo phạm vi và khởi tạo trạng thái thực thi Form cô lập với nối ma trận và cắt bounding-box
Đã thay đổi
- Truy vết nội dung đệ quy chọn từng từ điển tài nguyên Form một cách độc lập, thừa kế tài nguyên gọi cho các Form cũ tương thích, bảo toàn danh tính phông thừa kế và cache các chương trình Form đã giải mã qua các lần gọi lặp lại
Version 3.266.0
Đã thêm
- Các đoạn văn bản do
GetTextRunstrả về nay mang gốc glyph (OriginX/OriginY) và đầy đủ các thành phần ma trận văn bản (Tm11/Tm12/Tm21/Tm22/TmDX/TmDY) được thu bằng cách phát lại BT, Td, TD, Tm và T* cùng các toán tử show, nên các bên tiêu thụ có thể định vị glyph mà không cần một lượt text-funnel riêng - Giải mã shading mesh nay điều hướng các không gian màu Lab, CalRGB và CalGray qua trình quản lý màu thay vì rơi vào màu đen, cho kết quả tô đúng cho các patch free-form và coons không phải DeviceRGB
- Chắn bỏ (redaction) nay phát ra một chú thích
/Subtype /Redactthật với/Rect, màu trong/ICvà văn bản phủ tùy chọn bên cạnh việc xóa nội dung hiện có, nên các trình xem nhận-biết-chắn-bỏ đánh dấu vùng đã được làm sạch - Các thao tác thư viện phát các bản ghi log có cấu trúc tại các biên nạp và lưu qua
Loggervốn trước đây ngủ đông, với dấu thời gian ISO-8601 UTC và một điểm xả tệpTStreamWriterđược cache không còn mở lại tệp log ở mỗi dòng - Fixture
Tests.Memorymới bảo vệ các chu trình create/draw/save/free vàNewDocumentkhỏi thoái triển heap, và trình chạy kiểm thử console nay bậtReportMemoryLeaksOnShutdown - Diễn giải EMF nay đếm các bản ghi lạ hoặc riêng tư qua thuộc tính
UnknownRecordCountnên các khoảng hở metafile im lặng trở nên quan sát được
Đã thay đổi
- Tra cứu khóa từ điển (
TPDFDictionary.FindIndexByKeyName) dựng một chỉ mục hash open-addressing kiểu lười cho các từ điển trên 16 mục, biến việc quét tuyến tính từng chi phối các lượt tra cứu Resources/ColorSpace/Font/ExtGState của bộ kết xuất thành một lần dò O(1) - Chuyển đổi gamma sRGB (
XYZ2RGB) dùng một bảng tra cứu chung 4096 mục thay vì ba lệnh gọiPower(x, 1/2.4)mỗi pixel, và phép lũy thừa ba Lab-sang-XYZ nay dùng nhân trực tiếp; cả hai là chi phí trên mỗi pixel chi phối khi giải mã ảnh Lab hoặc dựa-trên-ICC - Tra cứu trang (
TPDFPageTree.GetPage) trả về từ điển trang đã cache khi truy cập lặp lại thay vì đi lại cây trang ở mỗi lệnh gọi - Điều phối toán tử content-stream (
ContentOperatorFromName) chia 73 toán tử theo byte đầu, cắt lượt quét tuyến tính mỗi token còn một phép so sánh phần dư ngắn - Kiểm toán không gian màu PDF/A nay đệ quy vào không gian cơ sở hoặc thay thế của Indexed, Separation, DeviceN và ICCBased đến độ sâu 8, nên một phép biến đổi tint DeviceCMYK ẩn hay tên Lab trần bị gắn cờ thay vì lọt qua trong im lặng
- Finalize phông-đã-định-hình nay đi qua tập glyph đã dùng ghi nhận lúc vẽ thay vì quét toàn bộ 65536 ô glyph bốn lần mỗi lần lưu
- Các thường trình escape chuỗi (literal-string, XFDF, stamp và mở rộng token biến) dựng đầu ra qua
TStringBuilderhoặc cấp phát hai lượt, loại bỏ phép nối O(n^2) khỏi các đường nóng lưu và xuất-biểu-mẫu - Mã hóa/giải mã stream AES dùng lại buffer khối của chúng qua các vòng lặp thay vì cấp phát lại mỗi khối
- Phân tích glyph-kép trong parser TrueType phình to mảng thành phần theo cấp số nhân thay vì từng phần tử một
ReadBitscủa shading mesh đọc số byte phủ tối thiểu trong một lượt vàWriteBitscỡ trước buffer đầu ra, loại bỏ cấp phát lại theo từng bit- Điểm điều khiển đường tròn của painter dùng hằng số kappa tính sẵn và bình phương cung dùng
Sqrthay vìPower
Đã sửa
- Sửa lỗi biên dịch không-Windows trong
PDFlibParallelkhi signature phần thân stub củaPDFlibRenderPagesParallelkhông khớp khai báo giao diện
Version 3.265.0
Đã thêm
- Bổ sung 59 bản demo bảng điều khiển C++Builder để đồng bộ bộ demo C++Builder với Delphi, nâng tổng số từ 33 lên 92 bản demo bao trùm cùng các diện tích API
- Bổ sung phần mở rộng Demo/C++Builder/index.html từ 35 lên 92 mục với các phần Navigation, Color & ICC, Barcode & media và Structure & compliance
Đã sửa
- Đã sửa toàn bộ 33 tệp cbproj C++Builder hiện có vốn thiếu 20 unit thư viện (PDFlibMeshShading, PDFlibGraphics, PDFlibWindows, PDFlibParallel, PDFlibLogger, PDFlibMail, PDFlibViewer, v.v.) trong danh sách DelphiCompile của chúng, khiến mọi bản demo C++Builder không thể biên dịch
Version 3.264.0
Đã thêm
- Ảnh chụp nhanh trạng thái đồ họa nội dung nay phân giải các toán hạng
Dothành XObject ảnh, biểu mẫu hoặc PostScript và báo cáo tên tài nguyên, số đối tượng và biên đã biến đổi của chúng - Ảnh chụp nhanh biểu mẫu hiển thị
/Matrixvà/BBoxgốc cùng với các chỉ báo tài nguyên, nhóm, nhóm trong suốt và biểu mẫu tham chiếu - Bộ theo dõi nội dung độc lập có thể đăng ký trước các stream XObject qua
RegisterXObject
Đã thay đổi
- Việc liệt kê trạng thái nội dung trang nay biên dịch trước các tài nguyên XObject của trang được chọn và tính biên gọi từ cả bốn góc đã biến đổi
Version 3.263.0
Đã thêm
- Ảnh chụp nhanh trạng thái đồ họa nội dung nay hiển thị biên đường dẫn hiện tại, điểm hiện tại, độ phức tạp đường dẫn, các quy tắc cắt đang chờ và biên cắt hiệu dụng
- Bộ theo dõi nội dung độc lập có thể khởi tạo biên cắt tường minh qua
SetInitialClipBounds
Đã thay đổi
- Việc liệt kê trạng thái nội dung trang nay theo dõi cắt trễ
WvàW*, các cực trị khối đã biến đổi chính xác, khôi phục cắtq/Qvà biênCropBoxcủa trang được chọn
Version 3.262.0
Đã thêm
- Ảnh chụp nhanh trạng thái đồ họa nội dung nay báo cáo chế độ viết của phông, độ dịch chuyển văn bản chính xác theo từng chỉ dẫn và việc các chỉ số phông đã được phân giải hay chưa
- Bộ theo dõi nội dung độc lập có thể cung cấp phép đo phông qua
OnMeasureText
Đã thay đổi
- Việc liệt kê trạng thái nội dung trang nay tăng các ma trận văn bản cho
Tj,TJ,'và"dựa trên chỉ số phông đơn giản hoặc hợp thành, tỷ lệ ngang, giãn cách và quy tắc viết dọc
Version 3.261.0
Đã thêm
- Theo dõi trạng thái đồ họa nội dung nay có thể phân giải các tài nguyên
ExtGStatecủa trang, bao gồm trong suốt, pha trộn, overprint, mặt nạ mềm, điều khiển thiết bị và tham chiếu phông nhúng TPDFContentStateTrackercó thể đăng ký trước các từ điển trạng thái đồ họa bên ngoài để phân tích chương trình nội dung độc lập
Đã thay đổi
- Các tham số trạng thái đồ họa bên ngoài nay được áp dụng tích lũy và tham gia vào các ảnh chụp nhanh lưu/khôi phục
q/Qđầy đủ
Version 3.260.0
Đã thêm
- Bổ sung theo dõi trạng thái đồ họa hiệu dụng một lượt cho các chương trình nội dung có cấu trúc và toàn bộ các trang được chọn
- Ảnh chụp nhanh hiển thị CTM, các ma trận văn bản, kiểu đường, mẫu gạch, màu sắc, trạng thái văn bản và độ sâu ngăn xếp trạng thái đồ họa trước hay sau mỗi chỉ dẫn
Đã thay đổi
- Việc liệt kê vị trí ảnh nay ánh xạ cả bốn góc của ô vuông đơn vị, cho ra biên chính xác khi xoay và trượt
Version 3.259.0
Đã thêm
- Bổ sung các hàm trợ giúp kiểu hóa cho thời gian, mẫu đặc biệt và mặt nạ tùy ý cho các trường biểu mẫu tương tác
- Bổ sung xác thực khoảng với biên an toàn số không tùy chọn độc lập
- Bổ sung các phép tính trường tổng, trung bình, tích, lớn nhất và nhỏ nhất với đăng ký thứ tự tính toán tự động
Bảo mật
- Các giá trị chuỗi JavaScript được sinh ra nay escape dấu ngoặc kép, dấu gạch chéo ngược, ký tự điều khiển và các ký tự xuống dòng của JavaScript
Version 3.258.0
Đã thêm
- Bổ sung tạo hành động
SetOCGStatekiểu hóa cho các sự kiện trường biểu mẫu, hành động hiện có và chuỗi hành động - Các hành động nội dung tùy chọn bảo toàn các thay đổi trạng thái từ trái sang phải, các nhóm lặp lại và tùy chọn ưu tiên quan hệ nút radio
Đã thay đổi
- Việc liệt kê hành động nội dung tùy chọn nay trả về các handle nhóm chính tắc khép kín qua các API ghi
Version 3.257.0
Đã thêm
- Bổ sung ghi đích từ xa tường minh đầy đủ với các trang đánh số từ 0, mọi kiểu fit tiêu chuẩn, giá trị XYZ có thể rỗng và tùy chọn cửa sổ ba trạng thái
- Bổ sung ghi hành động launch đầy đủ cho tệp di động, tham số Windows, thư mục mặc định và các thao tác mở hay in
- Các handle hành động hiện có nay có thể cập nhật các payload này hoặc nối thêm chúng vào chuỗi hành động mà không cần các API trùng lặp riêng theo loại chứa
Bảo mật
- Các trình xây dựng hành động go-to từ xa và launch nay từ chối chế độ PDF/A trước khi sửa một chuỗi hành động
Version 3.256.0
Đã thêm
- Việc kiểm tra hành động go-to từ xa nay báo cáo đích đặt tên và tường minh, các trang đích đánh số từ 0, kiểu fit, tọa độ và giá trị zoom
- Việc kiểm tra hành động launch nay báo cáo tham số ứng dụng Windows, thư mục mặc định và các thao tác mở hay in
- Thông tin hành động phân biệt tùy chọn
/NewWindowvắng mặt với giá trị false tường minh và nhận diện các đích dạng mảng
Version 3.255.0
Đã thêm
- Bổ sung các trình xây dựng kiểu hóa cho hành động go-to đích đặt tên từ xa và launch ứng dụng bên ngoài
- Các trình xây dựng hành động URI nay hỗ trợ yêu cầu bản đồ tọa độ qua cờ tiêu chuẩn
/IsMap - Các loại hành động mới hoạt động trên khắp các API vòng đời, trường biểu mẫu và hành động chuỗi qua giao diện trình xây dựng mở rộng hiện có
Version 3.254.0
Đã thêm
- Bổ sung 14 bản demo phủ API Delphi cho các diện tích thư viện chưa có demo riêng: OutlineBuilder, NamedDestinations, DocumentActions, EmbeddedFiles, LinearizeDemo, BarcodeGallery, XfaFields, TaggedPDF, OutputIntent, HtmlTextFlow, RichMediaAnnotations, MailSendDemo, TextBlockExtraction và PadesDssDemo
- Bổ sung phần Navigation, phần Color & ICC, phần Barcode & media và phần Structure & compliance vào chỉ mục demo Delphi, nâng tổng số từ 56 lên 92 demo được liệt kê
- Bổ sung các hướng dẫn Readme.en-us.html cho 20 demo trước đây không có
Đã thay đổi
- Áp dụng Formatter.config của dự án cho toàn bộ nguồn demo Delphi để khoảng cách toán tử, thụt lề và kiểu chữ hoa của từ khóa theo một phong cách thống nhất, và đặt NewLineBeforeThen thành False để If...Then nằm trên một dòng
- Siết chặt xử lý lỗi trên các demo GUI cổ điển: giá trị trả về của SaveToFile nay được kiểm tra nhất quán, vòng đời của TPDFlib và các đối tượng phụ luôn được bảo vệ bằng try/finally, và thông báo lỗi bao gồm LastErrorCode
Đã sửa
- Đã sửa cực tính đảo ngược của SaveToFile trong ImageToPdf vốn coi thành công là thất bại, và chặn AddTrueTypeSubsettedFont mở một tệp cũ khi việc lưu thất bại
- Đã sửa rò rỉ tài nguyên trong CreateWithImageToStream, DoInTheStream, CanvasText, ExtractText, ExtractImage, PdfDecrypt, PdfEncrypt và PdfPermission, nơi các thực thể TPDFlib, TStream, TBitmap, TOpenDialog hay TStringList có thể thoát ra trên đường xử lý ngoại lệ
- Đã loại bỏ mã chết trong AddFormattedTitle (cấp phát RectParts không dùng, try/except thừa quanh StrToFloatDef) và MultiFunction (lời gọi SetTextSize bị ghi đè)
Version 3.253.0
Đã thêm
- Bổ sung thông tin hành động kiểu hóa cho các hành động thread, âm thanh, phim, nội dung tùy chọn, rendition, chuyển cảnh và khung nhìn 3D
- Bổ sung tra cứu handle hành động tái sử dụng và liệt kê trạng thái nội dung tùy chọn có thứ tự
- Bổ sung các bản ghi chuyển cảnh PDF đầy đủ bao trùm các kiểu thay thế, Fly, Push, Cover, Uncover và Fade
Đã sửa
- Các chuyển cảnh Wipe và Glitter nay lưu hướng của mình vào
/Di, đọc thời lượng hiển thị trang từ từ điển trang và xóa cả mục chuyển cảnh lẫn mục định thời - Các kiểu chuyển cảnh tiêu chuẩn trước PDF 1.5 không còn ép buộc phiên bản xuất PDF 1.5
Version 3.252.0
Đã thêm
- Bổ sung phát hiện hành động trường biểu mẫu một lượt với thông tin hành động kiểu hóa trên các kích hoạt chính, widget và trường
- Bổ sung liệt kê thứ tự tính toán đầy đủ, tra cứu và xóa theo từng trường cho các biểu mẫu tương tác
- Mở rộng ảnh chụp nhanh hàng loạt trường biểu mẫu với thứ tự tính toán và số lượng hành động
Đã thay đổi
- Các kích hoạt vòng đời widget nay hỗ trợ các hành động mở trang, đóng trang, trang hiển thị và trang ẩn với cách xử lý phiên bản PDF 1.5 cần thiết
Version 3.251.0
Đã thêm
- Bổ sung liệt kê đích đặt tên một lượt trên các mục catalog kiểu cũ và các cây tên hiện đại với tham số trang và khung nhìn đã phân giải
- Bổ sung xóa đích đặt tên, chú thích đầy đủ của nút nhấn, định vị văn bản nút và tên ánh xạ trường biểu mẫu
- Mở rộng ảnh chụp nhanh hàng loạt trường biểu mẫu với tên ánh xạ, chú thích nút và vị trí văn bản nút
Đã sửa
- Chỉnh sửa cây tên nay hỗ trợ các giá trị đích trực tiếp và dùng mã hóa chỉ mục nhiều nột không mơ hồ
Version 3.250.0
Đã thêm
- Bổ sung ảnh chụp nhanh trường biểu mẫu một lượt với định danh trường, kiểu, trang, cờ, giá trị và trạng thái Choice
- Bổ sung các truy vấn cờ trường Choice kiểu hóa cùng với các bộ truy cập chỉ mục đã chọn và chỉ mục hiển thị trên cùng đã được xác thực
Đã sửa
- Các trường Choice chọn một không còn giữ mảng
/Iđa chọn, và việc chuyển từ đa chọn sang đơn chọn nay thay mảng/Vcũ bằng một giá trị chuỗi
Version 3.249.0
Đã thêm
- Bổ sung duyệt tìm kiếm văn bản có trạng thái một lượt để ứng dụng có thể lặp qua các kết quả khớp đã cache mà không phải trích xuất trang hai lần
- Bổ sung xuất giá trị biểu mẫu hàng loạt và áp dụng theo tên với bảo vệ trường chỉ đọc tùy chọn
Version 3.248.0
Đã thêm
- Bổ sung các vùng chọn Viewer được giữ lại với hình học trong không gian trang, văn bản đã trích xuất, liệt kê, xóa và sự kiện vùng quét có thể phủ quyết
- Bổ sung chụp bitmap khung nhìn hiện tại chính xác và xuất tệp bao gồm cả các lớp phủ bền vững
Version 3.247.0
Đã thêm
- Bổ sung các điều khiển Viewer độc lập để người dùng sửa biểu mẫu và kích hoạt chú thích
- Bổ sung màu tiền cảnh có thể cấu hình cho các trình soạn thảo trường văn bản và lựa chọn của biểu mẫu
Version 3.246.0
Đã thêm
- Bổ sung kiểu đầu đường kiểu hóa, màu bên trong hình, chế độ làm nổi bật liên kết, căn lề FreeText, trạng thái mở của chú thích Text và các ký hiệu Caret
- Các bộ đặt chú thích xác thực subtype tương thích và tự động nâng phiên bản PDF tối thiểu ở nơi cần
Version 3.245.1
Đã sửa
- Đã sửa kích cỡ trang xuất FastReport và bố cục memo để các báo cáo A4 giữ đúng tỷ lệ dự định, văn bản nằm trong biên memo và các khung memo chưa cấu hình vẫn ẩn
Version 3.245.0
Đã thêm
- Bổ sung
OnPasswordđể ứng dụng có thể cung cấp mật khẩu khác khi một tài liệu được mã hóa từ chối thông tin xác thực ban đầu - Các lần thử lại mật khẩu nay hoạt động nhất quán cho tải từ tệp, stream và chuỗi, hiển thị số lần thử tiếp theo và cho phép bộ xử lý hủy
Bảo mật
- Các callback mật khẩu bị giới hạn tổng cộng mười sáu lần thử và mỗi lần thử lại dùng bộ phân tích và trạng thái giải mã hoàn toàn mới
Version 3.244.0
Đã thêm
- Bổ sung
SetXMPPropertyExđể ghi an toàn các thuộc tính vô hướng trong không gian tên XMP do bên gọi định nghĩa - Giá trị XMP tùy chỉnh được escape qua XML DOM, các lần ghi lặp lại thay thế thuộc tính không gian tên tương ứng và các tên XML không hợp lệ hay dự phòng bị từ chối
Version 3.243.0
Đã thêm
- Bổ sung các hành động vòng đời tài liệu kiểu hóa cho các kích hoạt trước khi đóng, trước khi lưu, sau khi lưu, trước khi in và sau khi in
- Bổ sung các hành động mở và đóng trang kiểu hóa với hỗ trợ chung cho các trình xây dựng hành động URI, đặt tên, JavaScript, biểu mẫu và đích
- Bổ sung các phương pháp kiểm tra và gỡ bỏ hành động cho mọi kích hoạt vòng đời tài liệu và trang
Version 3.242.0
Đã thêm
- Bổ sung
SaveChangesđể nối các thay đổi vào tệp đã tải ban đầu và tự động tải lại chuỗi xref đã cập nhật cho các lần lưu gia tăng lặp lại SaveChangesxác thực mật khẩu tải lại trước khi ghi và bảo toàn handle tài liệu công khai đã chọn sau khi tải lại
Đã thay đổi
AppendToFilenay từ chối đích có độ dài hiện tại khác với nguồn đã tải, ngăn các offset gia tăng cũ được nối vào tệp đã bị thay đổi từ bên ngoài
Version 3.241.0
Đã thêm
- Bổ sung
GetLastOutlinevàGetLastChildOutlineđể truy cập trực tiếp phần cuối của danh sách đánh dấu trang - Bổ sung
GetOutlineChildCountvàGetOutlineSiblingIndexđể giám sát cây đánh dấu trang nhẹ nhàng mà không cần cấp phát toàn bộ ảnh chụp nhanh cây
Version 3.240.0
Đã thêm
- Bổ sung
SaveAllAttachmentsExvới các chính sách xung đột ghi đè, bỏ qua và tự động đổi tên cùng callback đặt tên cho từng tệp đính kèm - Xuất tệp đính kèm nay thu gọn tên được yêu cầu thành các tên lá an toàn và bảo vệ các tên thiết bị dành riêng của Windows
Đã sửa
- Đã sửa lỗi
SaveAllAttachmentstrả về mà không ghi tệp vì ảnh chụp nhanh tệp đính kèm của nó đã được đếm nhưng không được cấp phát và điền dữ liệu
Version 3.239.0
Đã thêm
- Bổ sung
OnPageMouseDown,OnPageMouseMovevàOnPageMouseUpđể các máy chủ Viewer nhận số trang đánh từ 1 và tọa độ điểm PDF từ trên xuống độc lập với zoom, cuộn và xoay khung nhìn - Bổ sung
RegionAtClientPoint,ActiveRegionvàOnActiveRegionChangeđể phân biệt liên kết, chú thích không phải liên kết và trường biểu mẫu khi con trỏ đi vào hay rời khỏi chúng - Bổ sung
CreatePDFlibViewerDefaultPopupMenuvàInstallPDFlibViewerDefaultPopupMenu, kết hợp các lớp hành động Viewer hiện có thành menu ngữ cảnh sẵn dùng cho sao chép, zoom, vừa khít, xoay, điều hướng, lưu và in
Version 3.238.0
Đã thêm
- Bổ sung
OnOperationProgressvới loại thao tác kiểu hóa, pha vòng đời, đơn vị hiện tại và tổng, phần trăm và văn bản chi tiết, đồng thời giữ lại callback phần trămOnProgresscổ điển - Các điểm vào tải, lưu, tìm kiếm, gộp và kết xuất trang từ tệp, stream và chuỗi nay báo cáo pha khởi đầu và pha kết thúc; các thao tác có tiến độ trung gian cũng báo cáo
opRunning - Việc đặt
Canceltrong lúcopStartinghayopRunningkích hoạt trạng tháiAborthiện có, cung cấp một đường hủy chung cho cả bên gọi cũ và mới
Đã sửa
LoadFromFilenay giữ mã lỗi 404 cho mật khẩu sai thay vì ghi đè bằng lỗi tải chung 401 sau khi dọn dẹp
Version 3.237.0
Đã thêm
- Bổ sung
SearchTextEachvàTPDFlibSearchHitEventđể phát ngay mỗi kết quả khớp văn bản mà không cần cấp phát hay định cỡ mảng kết quả SearchTextvàSearchTextEachnay báo cáo tiến độ trang quaOnProgressvà tôn trọng cảAbortlẫn việc hủy qua callback; việc hủy qua callback dùng trạng thái hủy hiện có cho đếnResetAbort- Bảng tìm kiếm của Viewer và lớp làm nổi bật kết quả nay tiêu thụ API streaming trong một lượt, loại bỏ giới hạn 256 dòng và 512 điểm nổi bật trước đây
Đã sửa
- Tìm kiếm toàn từ nay tiếp tục vượt qua một lần xuất hiện chuỗi con sớm hơn trong cùng khối văn bản để tìm một kết quả khớp được giới hạn đúng về sau
Version 3.236.0
Đã thêm
- Bổ sung
GetPrinterCapabilitiesđể chụp ảnh trạng thái driver máy in đang chạy mà không cần khởi động tác vụ in - Kết quả kiểu hóa
TPDFlibPrinterCapabilitiesbao gồm ID và tên giấy cùng kích thước milimet, ID và tên khay nạp, hỗ trợ duplex, màu, khổ ngang và đối chiếu, cổng máy in và số bản sao tối đa do driver báo cáo - Các driver thiếu siêu dữ liệu giấy hay khay vẫn trả về các tính năng còn lại với mảng rỗng, còn tên máy in không hợp lệ trả về ảnh trạng thái đã xóa sạch hoàn toàn
Version 3.235.0
Đã thêm
- Bổ sung
SendDocumentByMailđể lưu tài liệu đã tải thành một PDF tạm thời và chuyển nó như tệp đính kèm SMTP qua nhà cung cấp CDO tích hợp sẵn của Windows - Bổ sung điểm mở rộng
IPDFlibMailProviderđếm tham chiếu để ứng dụng có thể cung cấp phương thức vận chuyển khác, hỗ trợ máy chủ không phải Windows và kiểm thử quy trình thư không cần truy cập mạng - Mỗi lần gửi dùng một thư mục tạm biệt lập, làm sạch tên hiển thị của tệp đính kèm và xóa cả PDF lẫn thư mục của nó sau khi nhà cung cấp trả về;
GetLastMailErrorbáo cáo các lỗi xác thực, lưu, vận chuyển và nền tảng
Version 3.234.0
Đã thêm
- Bổ sung các placeholder biến vào văn bản tem, đầu trang và chân trang:
<%PageNo%>,<%TotalPages%>,<%ShortDate%>,<%LongDate%>,<%ShortTime%>và<%LongTime%>được mở rộng theo từng trang bên cạnh các token & cổ điển - Mọi placeholder tùy chỉnh
<%name%>được phân giải qua sự kiện mớiOnCalcVariable, sự kiện này nhận tên và số trang rồi cung cấp phần thay thế - số chạy dần, mã lô và các trường khách hàng được đóng tem mà không cần tiền xử lý văn bản; không có handler, các placeholder lạ vẫn giữ nguyên văn
Version 3.233.0
Đã thêm
- Bổ sung phát hiện chỉ số trên/dưới vào trích xuất văn bản:
GetTextBlockVAlignmới báo cáo phân loại đường cơ sở của từng khối văn bản được trích xuất (0 = đường cơ sở, 1 = chỉ số trên, 2 = chỉ số dưới) so với dòng trực quan của nó, nhờ đó có thể nhận diện công thức hóa học, số mũ và ký hiệu chú thích cuối trang - Một khối được phân loại là chỉ số trên/dưới khi nó nhỏ hơn hẳn văn bản trội của dòng và tâm dọc của nó nằm phía trên/dưới tâm trội trong phạm vi một chiều cao văn bản
Version 3.232.0
Đã thêm
- Bổ sung tách từ ở mức ký tự vào trích xuất văn bản:
SetTextExtractionOptions(17, 1)tách lại các run show-text không mang ký tự khoảng trắng thành từ ở bất cứ nơi nào bước dịch chuyển trên mỗi ký tự rộng hơn hẳn dịch chuyển glyph trung vị của run - các tài liệu vẽ cả dòng như một toán tử duy nhất với các khoảng kírim đứng thay cho dấu cách nay được trích xuất thành các từ riêng biệt ở chế độ 7 và 9-11 củaGetPageText - Các mảng dịch chuyển vẫn thẳng hàng với văn bản đã mở rộng, nên các tứ giác khối và kết quả độ rộng trên mỗi ký tự vẫn nhất quán
Version 3.231.0
Đã thêm
- Bổ sung xuất văn bản lưới cố định bảo toàn bố cục:
GetPageText(11)ánh xạ hình học trang lên một lưới ký tự đơn sắc - các dòng cụm theo đường cơ sở, mỗi khối rơi vào cột của mình được tính từ chiều rộng ký tự trung bình, và các ô ngắn hơn được đệm bằng dấu cách thật - nhờ đó các bảng và biểu mẫu giữ được căn lề trực quan trong trình xem văn bản thô, terminal và diff mà không phụ thuộc vào điểm dừng tab - Trang tham chiếu của
GetPageTextnay tài liệu hóa các chế độ thứ tự đọc (9), bảng phân tách bằng tab (10) và lưới cố định (11)
Version 3.230.0
Đã thêm
- Bổ sung gỡ nối gạch nối vào trích xuất văn bản:
SetTextExtractionOptions(16, 1)nối lại các từ bị gạch nối qua các chỗ xuống dòng ("inter-" ở cuối dòng theo sau bởi "national" trở thành "international") trong các kết quả định hướng theo dòng của chế độ 7 và 9 củaGetPageText - Heuristic chỉ nối khi một chữ cái đứng trước gạch nối và một chữ cái thường mở đầu dòng kế tiếp, nhờ đó các khoảng số, tên riêng và chữ hoa đầu câu giữ nguyên gạch nối của chúng
Version 3.229.0
Đã thêm
- Bổ sung sự kiện
OnBeforeSnapshotvào điều khiểnTPDFlibViewer: nó phát trước khi một thao tác kéo chụp ảnh được ghi lại cùng vùng đã kéo, và việc đặt Handled hủy việc chụp mặc định vào clipboard để ứng dụng có thể tự xử lý vùng đó - Công bố
PrefetchEnabled: worker tiền kết xuất nền nay có thể tắt và bật trong lúc chạy (worker dừng ngay và khởi động lại trên tài liệu đang mở) - Công bố
DiskCacheMaxDocuments: số tài liệu mà bộ nhớ đệm trang đĩa giữa các phiên giữ lại trước khi cắt tỉa nay có thể tinh chỉnh (mặc định 10)
Version 3.228.0
Đã thêm
- Bổ sung điều hướng chính xác vào điều khiển
TPDFlibViewer:GoToPagePointnhảy đến một trang và cuộn một điểm trang cho trước về góc trên bên trái của khung nhìn, nhờ đó đích liên kết và kết quả tìm kiếm rơi đúng vào vùng nhìn - Bổ sung điều khiển cuộn bằng lập trình: cuộn theo bước điểm ảnh
ScrollBy, các thuộc tính đọc/ghiHScrollPos/VScrollPos(lý tưởng để đồng bộ hai trình xem đặt cạnh nhau trên cùng một tài liệu), vàGetScrollPosForPagebáo cáo neo cuộn của từng trang ở chế độ liên tục - Bổ sung các cầu tọa độ công khai
ClientPointToPagevàPageRectToClientRectchuyển đổi giữa điểm ảnh client và không gian người dùng của trang qua zoom, xoay và cuộn; cơ chế kiểm tra trúng nội bộ nay dùng chung hình học chính xác của đường vẽ và cũng hoạt động trên các điều khiển không có cha (headless)
Version 3.227.0
Đã thêm
- Bổ sung các sự kiện trạng thái xem vào điều khiển
TPDFlibViewer:OnZoomChangephát ở mỗi thay đổi zoom hiệu dụng (zoom tường minh, các bước preset, tính lại chế độ vừa khít khi đổi kích thước, xoay hay DPI), cònOnHScroll/OnVScrolltheo dõi vị trí cuộn, nhờ đó thanh công cụ và màn hình trạng thái luôn đồng bộ mà không cần thăm dò - Kéo núm thanh cuộn dọc nay hiển thị bong bóng nổi "Page N / M" xem trước trang mà khung nhìn sẽ dừng đến - một trợ giúp lớn với tài liệu dài; thuộc tính
ScrollHintEnabled(bật theo mặc định) tắt nó đi
Version 3.226.0
Đã thêm
- Hoàn thiện vòng lặp điền và lưu trong điều khiển
TPDFlibViewer:SaveToFilevàSaveToStreamghi tài liệu đang hiển thị - bao gồm cả các chỉnh sửa biểu mẫu đã xác nhận - trở lại đĩa hay stream (bất kỳ trình soạn thảo tại chỗ nào đang mở cũng được xác nhận trước) - Các trường văn bản nhiều dòng nay được soạn thảo trong một memo đa dòng đúng nghĩa: Enter chèn xuống dòng, Ctrl+Enter xác nhận, Escape hủy; các trường một dòng giữ hành vi Enter-xác-nhận như cũ
- Tab và Shift+Tab luân chuyển trình soạn thảo tại chỗ qua các trường văn bản và lựa chọn có thể sửa của tài liệu, đi theo trang của từng trường;
FocusNextFormFieldcung cấp cùng cơ chế điều hướng đó bằng lập trình
Version 3.225.0
Đã thêm
- Bổ sung zoom theo bậc preset vào điều khiển
TPDFlibViewer:ZoomInStepvàZoomOutStepđưa zoom bám vào chuỗi preset tiêu chuẩn (1, 5, 10, 25, 50, 75, 100, 150, 200, 400, 800, 1600, 2400, 3200 phần trăm), bắt đầu từ zoom đang có hiệu lực nên các chế độ vừa khít bước đi tự nhiên; các hành động zoom trên thanh công cụ nay dùng cùng bậc đó - Ctrl+bánh xe chuột nay zoom theo bậc preset trong khi bánh xe thường vẫn cuộn
- Bổ sung phím tắt: Ctrl+'+'/'-' bước zoom, Ctrl+1/2/3 chuyển sang kích thước thật, vừa chiều rộng và vừa trang, còn Shift+Up/Down nhảy đến trang đầu và trang cuối
Version 3.224.0
Đã thêm
- Bổ sung
CreateSelfSignedCertificatevới các điểm vào Delphi, DLL và ActiveX: tạo một chứng thư RSA tự ký (chữ ký SHA-256, chủ thể, thời hạn và độ dài khóa cấu hình được) và xuất nó cùng khóa riêng vào tệp PFX bảo vệ bằng mật khẩu, sẵn sàng choSignFilevà các API quy trình ký - nhờ đó có thể xây dựng và kiểm thử quy trình ký mà không cần một tổ chức chứng thực bên ngoài - Chứng thư được tạo trong một container khóa dùng một lần rồi bị xóa sau khi xuất; chỉ PFX giữ nguyên liệu khóa. Chứng thư tự ký dành cho kiểm thử và tài liệu nội bộ - các trình xem đánh dấu chúng là không đáng tin trừ khi được cài đặt rõ ràng
Version 3.223.0
Đã thêm
- Bổ sung
TPDFlibShapeWatermarkvào lớp watermark có thể tổ hợp: hình chữ nhật, hình tròn, hình elip, đa giác, chuỗi đường cong Bezier và đường thẳng được đóng tem lên một khoảng trang với màu tô và nét vẽ, độ dày đường và độ mờ, qua cùng điểm vàoApplyWatermarknhư watermark văn bản và ảnh - Các hình chữ nhật, tròn và elip tự định kích thước từ Width/Height; các hình đa giác, đường cong và đường thẳng lấy hình học từ
SetPoints(các cặp X,Y cục bộ), nhờ đó lưới Position chín điểm và vị trí tùy chỉnh áp dụng cho mọi loại hình; hình học suy biến (quá ít điểm) bị từ chối
Version 3.222.0
Đã thêm
- Bổ sung
AddLinkToEmbeddedPDFvới các điểm vào Delphi, DLL và ActiveX: một vùng nóng trên trang mở một PDF được nhúng trong tài liệu hiện tại (theo tên EmbeddedFiles của nó) và nhảy đến một trang được chọn ở đó, dùng hành động go-to nhúng (/GoToE) tiêu chuẩn của ISO 32000-1 §12.6.4.4 với yêu cầu cửa sổ mới tùy chọn; phiên bản tài liệu tự động nâng lên PDF 1.6 GetAnnotActionInfovà các phương thức chị em cho đánh dấu trang/trường biểu mẫu nay nhận diện các hành động go-to nhúng, báo cáo loại mớiakGoToEcùng với tên đích nhúng, quan hệ đích cha/con, đặc tả tệp tùy chọn và cờ /NewWindow
Version 3.221.0
Đã thêm
- Bổ sung
SetSignProcessAppearanceTextvới các điểm vào Delphi, DLL và ActiveX: chữ ký số nay có thể hiển thị một diện mạo văn bản nhìn thấy được tự động sinh gồm tên người ký, lý do, địa điểm và ngày ký, với các nhãn mô tả tùy chọn ("Signed by:", "Reason:", ...) được chọn qua mặt nạ bit - Khối văn bản được bố trí trong hình chữ nhật của trường chữ ký bằng phông Helvetica với màu cấu hình được; cỡ phông 0 tự vừa các dòng vào trường. Ảnh trường được đặt qua
SetSignProcessFieldImageFromFilegiữ ưu tiên, và các quy trình dấu thời gian của tài liệu bỏ qua diện mạo văn bản
Version 3.220.0
Đã thêm
- Bổ sung điền biểu mẫu tương tác vào điều khiển
TPDFlibViewer: nhấp vào ô đánh dấu hay nút radio sẽ chuyển đổi nó, và nhấp vào trường văn bản hay lựa chọn mở một trình soạn thảo tại chỗ trên trường đó (Enter xác nhận, Escape hủy, rời trình soạn thảo cũng xác nhận); các trường chỉ đọc được để yên và trang thay đổi được kết xuất lại tự động - Mỗi lần ghi phát sự kiện mới
OnFormFieldValueChanged, vàHighlightFormFieldsvớiFormHighlightColortô một nền mờ nửa trong suốt trên từng vùng có thể điền để người dùng nhận ra các trường biểu mẫu - Bổ sung các bộ phận tương đương bằng lập trình
FormFieldAtPagePoint,GetFormFieldPageRect,ToggleCheckBoxField,SetFormFieldValueAndRefresh,BeginEditFormFieldvàCommitInplaceEditor, vận hành cùng cơ chế mà không cần chuột
Version 3.219.0
Đã thêm
- Bổ sung tương tác chú thích vào điều khiển
TPDFlibViewer: nhấp vào một chú thích không phải liên kết phát sự kiện mớiOnAnnotClickvới trang, chỉ số chú thích và subtype, cònAnnotAtPagePointcung cấp phép thử trúng bằng lập trình (các chú thích Popup đi kèm bị bỏ qua) - Di chuột lên một chú thích nay hiển thị văn bản Contents của nó như gợi ý của điều khiển (công tắc
AnnotHints, bật theo mặc định, hoạt động cùng thuộc tínhShowHinttiêu chuẩn) - Bổ sung
SaveAnnotAttachmentToFileđể ghi tệp nhúng của chú thích FileAttachment ra đĩa, hoàn thiện các quy trình đính kèm nhấp-để-lưu trong trình xem
Version 3.218.0
Đã thêm
- Bổ sung bộ nhớ đệm trang đĩa giữa các phiên vào điều khiển
TPDFlibViewer: đặtDiskCacheFoldersẽ lưu các trang đã kết xuất trên đĩa để tài liệu vừa xem lại mở gần như tức thì mà không cần kết xuất lại - Các trang được cache được khóa bằng vân tay của đường dẫn, kích thước và thời điểm ghi cuối của tài liệu, nên việc chỉnh sửa tệp tự động làm mất hiệu lực các trang cũ của nó; bộ đệm giữ tới mười tài liệu và cắt tỉa các tài liệu ít dùng gần đây nhất
- Bổ sung bộ đếm
DiskCacheHitsbáo cáo số lần kết xuất trang mà bộ nhớ đệm đĩa đã tiết kiệm được
Version 3.217.0
Đã thêm
- Bổ sung unit
PDFlibViewerActionsvới hai mươi hậu duệTActionsẵn dùng choTPDFlibViewer, để thanh công cụ và menu hoạt động mà không cần mã keo dán: điều hướng trang (First/Prior/Next/Last), zoom (In/Out/FitWidth/FitPage/ActualSize), xoay khung nhìn (theo/ngược chiều kim đồng hồ), in, các hộp thoại mở tệp và lưu thành, sao chép văn bản đang chọn, và năm công tắc chế độ công cụ chuột - Mỗi hành động nhắm vào một trình xem qua thuộc tính
Viewercủa nó và tự động giữ trạng thái bật (tài liệu mở, vị trí trang, có vùng chọn) và trạng thái đánh dấu (chế độ vừa khít zoom hay công cụ chuột đang hoạt động) luôn cập nhật; mọi hành động được đăng ký trong nhóm losLab PDF cho trình soạn thảo Action List - Bổ sung
TPDFlibViewer.EffectiveZoomPercentbáo cáo zoom thực sự đang có hiệu lực (bao gồm các hệ số vừa-chiều-rộng/vừa-trang được tính ra) để các bước zoom có thể dựa trên nó
Version 3.216.0
Đã thêm
- Bổ sung làm nổi bật kết quả tìm kiếm vào điều khiển
TPDFlibViewer:HighlightSearchHitstìm trên toàn tài liệu và tô một thanh mờ nửa trong suốt lên mỗi kết quả khớp, thanh này giữ nguyên vị trí khi cuộn, zoom và xoay, kèmClearSearchHighlights,SearchHighlightCountvàSearchHighlightColorcấu hình được TPDFlibSearchPanel.RunSearchnay cũng tô các thanh kết quả khớp trong trình xem được gắn vào (thuộc tính mớiHighlightInView, bật theo mặc định, tắt điều này đi), nhờ đó kết quả tìm kiếm hiện rõ trên các trang chứ không chỉ trong danh sách kết quả
Version 3.215.0
Đã thêm
- Bổ sung các chế độ công cụ chuột vào điều khiển
TPDFlibViewerqua thuộc tính mớiViewerMode:vmSelectchọn văn bản (mặc định),vmHandxoay-vuốt-bằng-kéo với con trỏ nắm (nhấp thường vẫn đi theo liên kết),vmZoomzoom vùng quét phóng to dải được kéo để lấp khung nhìn,vmSnapshotchụp vùng vào clipboard, vàvmHighlightlàm nổi vùng mờ nửa trong suốt bền vững - Bổ sung
CaptureRegionđể kết xuất bất kỳ vùng client nào (các trang cộng phần nổi bật) vào bitmap thuộc sở hữu bên gọi, sự kiệnOnSnapshotvà công tắcSnapshotToClipboardcho việc xử lý ảnh chụp, cùngAddHighlightRegion/ClearHighlightRegions/HighlightRegionCountvớiHighlightColorcấu hình được cho các vùng nổi bật neo theo trang sống sót qua zoom, xoay và điều hướng
Version 3.214.0
Đã thêm
- Bổ sung in ấn vào điều khiển
TPDFlibViewer:PrintDochiển thị hộp thoại in Windows tiêu chuẩn (chọn máy in, khoảng trang, số bản, đối chiếu) và giao tác vụ cho động cơ in của thư viện, cònPrintDoc(False)in toàn tài liệu ra máy in mặc định mà không có bất kỳ UI nào - Bổ sung
PrintDocRangeđể in từ trình xem hoàn toàn bằng lập trình với tên máy in, khoảng trang, số bản và cờ đối chiếu tường minh
Version 3.213.0
Đã thêm
- Bổ sung xoay khung nhìn vào điều khiển
TPDFlibViewer:RotateClockwise90vàRotateAntiClockwise90quay các trang đang hiển thị theo bước 90 độ, và thuộc tínhViewRotationđọc hay đặt góc trực tiếp (0, 90, 180 hoặc 270) - Xoay là thuộc tính thuần túy của khung nhìn: tài liệu không bao giờ bị sửa, việc nhấp liên kết và chọn văn bản vẫn hoạt động ở mọi góc, các chế độ zoom vừa-chiều-rộng và vừa-trang thích ứng với hình dạng trang đã xoay, và mở tài liệu mới đặt lại khung nhìn về 0 độ
- Bitmap trang đã xoay được cache theo từng góc, nên việc chuyển giữa các góc tái sử dụng các bản kết xuất trước thay vì kết xuất lại
Version 3.212.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay chấp nhận các bộ chọn vị từ kiểu FormCalc đơn giản như$data.Receipt.Detail.[Total_Price > 200].Descriptionvà cập nhật mọi nút dữ liệu khớp khi một vị từ chọn một tập con
Version 3.211.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay chấp nhận các bộ chọn lớp Data DOM#dataGroupvà#dataValuevới số lần xuất hiện dạng số hay ký tự đại diện, cho phép các đường dựa trên lớp như$data.Receipt.#dataGroup[0].#dataValue[0]
Version 3.210.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay chấp nhận gốc$recordtrong các gói không xử lý bản ghi, nhờ đó các đường như$record.Taxvà$record/Detail[0]/Total_Priceđược phân giải từ phần tử bản ghi dữ liệu ngoài
Version 3.209.0
Đã thay đổi
- Cải thiện trao đổi chú thích XFDF: xuất chú thích nay ghi các thuộc tính kiểu đường viền chuẩn
width,stylevàdashestừ giá trị/BScủa chú thích PDF, và nhập chú thích khôi phục các thuộc tính đó trên chú thích được chèn
Version 3.208.0
Đã thay đổi
- Cải thiện trao đổi chú thích XFDF: xuất chú thích nay ghi các thuộc tính chuẩn
creationdatevàopacitytừ giá trị/CreationDatevà/CAcủa chú thích PDF, và nhập chú thích khôi phục các thuộc tính đó trên chú thích được chèn
Version 3.207.0
Đã thay đổi
- Cải thiện trao đổi chú thích XFDF: xuất chú thích nay ghi các tên
flagschuẩn từ giá trị/Fcủa chú thích PDF, và nhập chú thích khôi phục các tên đó vào cờ của chú thích được chèn
Version 3.206.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay chấp nhận các bộ chọn ký tự đại diện con trực tiếp như$data.Receipt.*.Total_Priceđể đọc hay cập nhật các nhánh con khớp mà không chọn các trường trùng tên trên nút cha
Version 3.205.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay chấp nhận các bộ chọn hậu duệ như$data..Total_Pricevà$data.Receipt..Total_Priceđể đọc hay cập nhật nút dữ liệu hậu duệ khớp đầu tiên
Version 3.204.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay chấp nhận thuộc tínhparenttrong các đường như$data.Receipt.Detail[1].parent.Taxđể đọc hay cập nhật dữ liệu anh em của nút cha được chọn
Version 3.203.0
Đã thay đổi
- Cải thiện xử lý số lần xuất hiện SOM của bộ dữ liệu XFA:
GetXFAFormFieldValuevàSetXFAFormFieldValuenay hỗ trợ các bộ chọn[*]như$data.Receipt.Detail[*].Total_Priceđể đọc hay cập nhật mọi nút dữ liệu lặp khớp
Version 3.202.0
Đã thay đổi
- Cải thiện khả năng tương thích đường SOM của XFA: các API trường bộ dữ liệu và mẫu XFA nay giữ nguyên dấu chấm chữ trong các đường trường phân tách bằng dấu gạch chéo và chấp nhận dấu chấm được escape như
Line\.Itemtrong các đường SOM phân tách bằng dấu chấm
Version 3.201.0
Đã thay đổi
- Cải thiện khả năng tương thích đường của bộ dữ liệu XFA: các API giá trị trường XFA nay chấp nhận các đường phân tách bằng dấu gạch chéo sau các gốc SOM dữ liệu tiêu chuẩn như
$data/...,xfa.datasets.data/...vàxfa.datasets/...
Version 3.200.0
Đã thay đổi
- Cải thiện khả năng tương thích SOM của bộ dữ liệu XFA: các API giá trị trường XFA nay chấp nhận dạng viết tắt chuẩn
!data..., bao gồm các đường!data/...phân tách bằng dấu gạch chéo
Version 3.199.0
Đã thay đổi
- Cải thiện khả năng tương thích đường mẫu XFA: các API chỉnh sửa mẫu nay chấp nhận các đường trường phân tách bằng dấu gạch chéo được trả về từ việc liệt kê tên trường XFA, bao gồm các đường
$template/...
Version 3.198.0
Đã thay đổi
- Cải thiện khả năng tương thích không gian tên của bộ dữ liệu XFA: các API giá trị trường nay đọc và cập nhật nút dữ liệu theo tên XML cục bộ khi dữ liệu nghiệp vụ bên trong gói datasets dùng tiền tố không gian tên riêng, và việc liệt kê tên trường trả về các đường không có tiền tố
Version 3.197.0
Đã thay đổi
- Cải thiện trao đổi chú thích XFDF: xuất chú thích nay bao gồm các thuộc tính chung
namevàdatetừ PDF/NMvà/M, nhập chú thích khôi phục các giá trị đó trên chú thích được chèn, vàSetAnnotStrPropertynay chấp nhận thẻ 104 cho ngày sửa đổi của chú thích
Version 3.196.0
Đã thay đổi
- Cải thiện liệt kê tên trường XFA: các API danh sách trường nay quét mọi bản ghi dữ liệu cấp cao nhất trong gói datasets và trả về các trường dữ liệu lá mà không thêm các nhóm chứa như là trường
Version 3.195.0
Đã thay đổi
- Cải thiện khả năng tương thích của bộ dữ liệu XFA: các API giá trị trường XFA nay đọc và cập nhật các gói XDP đầy đủ mà gói datasets của chúng dùng phần tử
datakhông có tiền tố
Version 3.194.0
Đã sửa
- Cải thiện cập nhật trường mẫu XFA: các API trường mẫu XFA nay chấp nhận các gốc SOM mẫu tiêu chuẩn như
$templatevàxfa.template, và các thay đổi chỉ nằm ở mẫu trong các stream XDP đầy đủ được lưu đúng cách
Version 3.193.0
Đã thay đổi
- Cải thiện đánh địa chỉ trường XFA: các API giá trị trường XFA nay chấp nhận các gốc SOM dữ liệu tiêu chuẩn như
$datavàxfa.datasets.databên cạnh các đường trường tương đối
Version 3.192.0
Đã thay đổi
- Cải thiện xử lý gói XML XFA: các stream XFA mang dấu thứ tự byte UTF-16 hay mẫu byte XML UTF-16 nay được giải mã trước khi phân tích XML, nhờ đó các giá trị biểu mẫu mã hóa UTF-16 vẫn sẵn có qua các API đọc/ghi trường XFA
Version 3.191.0
Đã thay đổi
- Cải thiện việc soạn gói XFA:
SetXFAFromStringnay tạo containerAcroFormcần thiết khi tài liệu chưa có dữ liệu biểu mẫu, thay thế trạng thái XFA đã phân tích cũ khi một gói XFA đầy đủ được lưu, và giữ gói đã lưu sẵn có qua các API đọc/ghi trường XFA
Version 3.190.0
Đã thay đổi
- Cải thiện trao đổi chú thích XFDF: xuất chú thích nay ghi thuộc tính chung
colortừ mảng RGB/Ccủa PDF, và nhập chú thích nay khôi phục các giá trịcolor="#RRGGBB"vào mảng màu của chú thích được chèn
Version 3.189.0
Đã thêm
- Bổ sung các API trao đổi chú thích XFDF:
ExportAnnotationsToXFDF,ExportAnnotationsToXFDFString,ImportAnnotationsFromXFDFvàImportAnnotationsFromXFDFStringnay đọc và ghi dữ liệu<annots>ISO 19444 cho các bình luận chú thích kiểu văn bản, bao gồm dữ liệu trang, hình chữ nhật, tiêu đề, chủ đề và nội dung văn bản thuần
Version 3.188.0
Đã thay đổi
- Cải thiện nhập trường văn bản định dạng XFDF: các trường có
<value-richtext>nay bảo toàn XML văn bản định dạng trong giá trịRVcủa trường, đồng thời vẫn áp dụng phương án dự phòng<value>thuần khi có mặt
Version 3.187.0
Đã thay đổi
- Cải thiện trao đổi dữ liệu biểu mẫu XFDF cho các trường lựa chọn đa chọn: các phần tử
<value>lặp lại nay được nhập vào mảng giá trị đã chọn, và xuất một trường lựa chọn đa chọn nay ghi một phần tử<value>cho mỗi mục đã chọn thay vì ép phẳng chúng thành một nút văn bản được escape duy nhất
Version 3.186.0
Đã thay đổi
- Cải thiện xuất dữ liệu biểu mẫu XFDF cho các trường văn bản định dạng: các trường có giá trị văn bản định dạng
RVnay bao gồm một phần tử<value-richtext>trong khi vẫn bảo toàn phương án dự phòng<value>thuần
Version 3.185.0
Đã thay đổi
- Cải thiện nhập dữ liệu biểu mẫu XFDF cho các trường văn bản định dạng: khi một trường cung cấp
<value-richtext>mà không có<value>thuần, bộ nhập nay trích xuất nội dung văn bản XHTML và áp dụng nó vào trường AcroForm tương ứng thay vì bỏ qua trường đó
Version 3.184.0
Đã thay đổi
- Cải thiện trao đổi dữ liệu biểu mẫu XFDF: xuất nay dùng không gian tên XFDF tiêu chuẩn với
xml:space="preserve", tạo các phần tử<field>lồng nhau cho các tên AcroForm phân cấp, bỏ qua các giá trị trường cha không phải đầu cuối, ghi các bản xuất tệp dạng UTF-8, và nhập XFDF linh hoạt khoảng trắng với các trường lồng nhau, thuộc tính trong ngoặc đơn, CDATA, thực thể XML và tham chiếu ký tự số
Version 3.183.0
Đã thêm
- Bổ sung
SanitizeDocument(Flags)tẩy bỏ nội dung nhạy cảm trong một lời gọi: xóa toàn bộ JavaScript toàn cục, gỡ OpenAction của catalog, cắt các hành động /A khỏi mọi chú thích, xóa trắng siêu dữ liệu Author/Subject/Keywords/Creator/Producer (cả /Info lẫn XMP), và tùy chọn xóa tất cả chú thích. Các bit cờSANITIZE_JAVASCRIPT/SANITIZE_ACTIONS/SANITIZE_METADATA/SANITIZE_ANNOTATIONS/SANITIZE_OPEN_ACTIONkết hợp được;SANITIZE_ALLáp dụng mọi thao tác cắt. Khép lại lỗ hổng rò rỉ dữ liệu kinh điển nơi redaction xóa nội dung nhìn thấy nhưng vẫn để siêu dữ liệu hay kịch bản ẩn có thể phục hồi được - Bổ sung
TPDFAnnots.RemoveAnnotAction(Index)để cắt từ điển hành động /A khỏi một chú thích riêng lẻ (được SanitizeDocument dùng, cũng hữu ích khi dùng độc lập)
Version 3.182.0
Đã thêm
- Các phần tử ảnh được trả về từ
EnumPageElementsnay mang hình chữ nhật vị trí thực của chúng (Left/Top/Right/Bottom) thay vì các số không. Được hậu thuẫn bởi phương pháp mớiTPDFContentProgram.EnumImagePlacementsđi qua stream nội dung theo dõi CTM (cm/q/Q) và ánh xạ ô vuông đơn vị 1x1 của từng toán tửDovào tọa độ trang - Bổ sung bốn bản demo trưng bày: DocumentProperties (khứ hồi DocInfo/page-box/xoay/chuyển cảnh/tùy chọn trình xem/XMP), FormProperties (lưới thuộc tính theo từng trường: type/value/readonly/MaxLength/MultiLine/description), SignatureValidator (liệt kê các trường chữ ký + xác minh + chứng thư người ký), Reader (VCL TPDFlibViewer với mở/điều hướng/zoom/sao chép văn bản)
Version 3.181.0
Đã thêm
- Bổ sung
SetXMPPropertyđưa động cơ XMP nhận biết lược đồ hiện có (PDFlibXMP) ra qua mặt ngoài công khai: đặt bất kỳ thuộc tính Dublin Core (dc:), XMP Basic (xmp:), Adobe PDF (pdf:), PDF/A ID (pdfaid:), PDF/UA ID (pdfuaid:) hay XMP Media Management (xmpMM:) theo không gian tên + khóa mà không phải viết tay RDF XML - Bổ sung
ImportFormDataFromFDF/ImportFormDataFromFDFStringphân tích mảng FDF /Fields (mỗi mục<< /T (name) /V (value) >>) và áp từng giá trị vào trường AcroForm tương ứng theo tiêu đề, đảo ngược việc escape bát phân/ngoặc của EscapePDFText. Khép lại khoảng hở bất đối xứng chỉ-xuất - Bổ sung
ExportFormDataToXFDF/ExportFormDataToXFDFString/ImportFormDataFromXFDF/ImportFormDataFromXFDFStringcho trao đổi hai chiều XFDF (XML Forms Data Format) - đối tác XML hiện đại của FDF - Công bố sáu bộ đặt XMP phạm vi không gian tên (
SetDublinCore,SetXMPBasic,SetAdobePDF,SetPDFA,SetPDFUA,SetXMPMM) thành công khai trênTPDFlibXMPđể các bên gọi nâng cao có thể điều khiển động cơ trực tiếp
Version 3.180.0
Đã thêm
- Bổ sung
SearchAndReplaceTextInContentthực hiện thay thế văn bản stream nội dung NGHIÊM TUỰC (viết lại các toán tử show-text Tj/TJ/'/" ngay tại chỗ quaTPDFContentProgram.ReplaceTextRun), khác vớiSearchAndReplaceTextdựa trên mặt nạ hiện có vốn chỉ phủ một hình chữ nhật lên trên các glyph gốc. Văn bản gốc biến mất khỏi stream và không thể phục hồi. Định vị các kết quả khớp quaSearchText, ánh xạ mỗi hình chữ nhật khớp tới chỉ dẫn bao trùm nó quaFindInstructionsInRect, viết lại và ghi lớp trở lại
Version 3.179.0
Đã thêm
- Bổ sung bộ ghi nhật ký nội bộ có cấu trúc (
TPDFlibLogger) trong unit mớiLib/PDFlibLogger.pasvới bốn mức (Debug/Info/Warn/Error), một callback máy chủ (OnLog), một điểm thu tệp an toàn luồng tùy chọn, và bản đồ mã-lỗi-thành-thông-báo (PDFlibErrorMessage) cuối cùng cũng cho các mã số hiện có (1xx/3xx/4xx/5xx) một văn bản dễ hiểu. Được công bố trênTPDFlibqua thuộc tínhLogger - Bổ sung
RenderPagesToFilesParallelkết xuất một khoảng trang thành một tệp trên mỗi trang bằng một bểTTaskvới một thực thểTPDFlibcho mỗi worker (TPDFlib không an toàn luồng) vàCoInitializetheo từng luồng để bảo đảm an toàn apartment cho GDI+. Mở rộng gần như tuyến tính theo số lõi CPU với đầu ra raster gánh nặng trên CPU
Version 3.178.0
Đã thêm
- Bổ sung
EnumCertificatesđể liệt kê mọi chứng thư trong một kho hệ thống Windows ("MY", "Root", ...) trả về chủ thể, tổ chức cấp, số sê-ri, khoảng hiệu lực, HasPrivateKey và Qualified (phần mở rộng eIDAS QCStatements, OID 0.4.0.1862.1.7, được phát hiện qua một bộ giải mã DER tích hợp mới trong PDFlibASN1) - thay thế giới hạn một-chứng-thư-theo-CN trước đây củaSetSignProcessCertFromStore - Bổ sung
SetSignProcessCertFromStoreByHandleđể chọn chứng thư ký theo handle PCCERT_CONTEXT thô thu được từ việc liệt kê, cho phép bên gọi chọn theo bất kỳ tiêu chí nào (bộ lọc đủ điều kiện, hiệu lực, vân tay) thay vì chỉ theo Subject CN - Bổ sung
RedactRegionthực sự xóa văn bản, đường dẫn vector và các XObject ảnh có diện tích được vẽ giao với một hình chữ nhật (sửa stream nội dung nên nội dung bị xóa không thể phục hồi, khác vớiMaskRectvốn chỉ phủ lên trên), với tùy chọn tô đen và chú thích /Redact. Được hậu thuẫn bởi bộ phân tích stream nội dung theo dõi CTM trong PDFlibContentModel (FindInstructionsInRect) - Bổ sung các hàm giải mã DER tối thiểu (
DERDecodeLength,DERFindExtensionByOID) vào PDFlibASN1 để giám sát phần mở rộng chứng thư trong tiến trình mà không cần CryptDecodeObjectEx
Version 3.177.0
Đã thêm
- Bổ sung các API khâu trang ghép các trang hiện có thành bố cục mới qua việc chụp Form XObject vector (bảo toàn độ trung thực vector đầy đủ, khác với việc nối stream nội dung):
StitchPageOverlayphủ một trang lên trang khác tại một vị trí với độ mờ tùy chọn,StitchPagesSideBySideđặt hai trang trái/phải trên một trang mới rộng hơn, vàStitchPagesVerticallyxếp chồng một khoảng trang thành một trang mới cao kiểu áp phích - Bổ sung lớp mẫu watermark có thể tổ hợp trong unit mới
Lib/PDFlibWatermark.pas:TPDFlibWatermarkBasevới định vị chín điểm (wpTopLeft..wpBottomRightcộngwpCustom),TPDFlibTextWatermark,TPDFlibImageWatermark, vàTPDFlibCompositeWatermarkáp dụng đệ quy một danh sách các watermark con trên một khoảng trang chung - Bổ sung
TPDFlib.ApplyWatermarknhư một điểm vào tiện lợi ủy quyền cho khoảng trang và cài đặt riêng của mẫu watermark
Version 3.176.0
Đã thêm
- Bổ sung các hằng số định dạng đầu ra kết xuất có tên (
PDF_RENDER_BMP,PDF_RENDER_EMF,PDF_RENDER_EMFPLUS,PDF_RENDER_EMF_DUAL, v.v.) ánh xạ 1:1 tới các giá trịOptionsnguyên đượcRenderPageToFile,RenderPageToStream,RenderPagesToFilesvàRenderDocumentToFilechấp nhận - Bổ sung enum
TPDFlibMetafileFormatvà các phương pháp tiện lợiRenderPageToMetafileStreamvàRenderPageToMetafileFile, chấp nhận một biến thể metafile có tên (mfEMF, mfEMFPlus, mfEMFDual, mfWMF) thay vì một số nguyên trần - Bổ sung chế độ đầu ra EMF+ Dual (giá trị Options 11 / mfEMFDual), ghi lại cả các lệnh GDI lẫn GDI+ trong cùng một metafile để tương thích với các bên tiêu thụ chỉ-GDI cũ hơn
- Bổ sung enum
TPDFlibClipboardFormatvàRenderPageToClipboard, đặt một trang đã kết xuất vào clipboard Windows dưới dạng metafile mở rộng (CF_ENHMETAFILE), bitmap DIB (CF_DIB), văn bản Unicode của trang (CF_UNICODETEXT), hoặc cả ba cùng lúc - Bổ sung unit mới
Lib/PDFlibClipboard.pasvới các hàm trợ giúp đặt nội dung vào clipboard Win32 cấp thấp đượcRenderPageToClipboardsử dụng - Bổ sung nhận biết DPI đầy đủ theo từng màn hình cho
TPDFlibViewer: thuộc tính công khai mớiScreenDPI, mộtCreateWndghi đè tự phát hiện DPI của màn hình máy chủ quaGetDpiForWindow(kèm phương án dự phòngGetDeviceCaps), và một handlerWM_DPICHANGEDdựng lại bố cục và xóa bộ đệm bitmap khi cửa sổ di chuyển giữa các màn hình - Bổ sung
TPDFRenderer.SetEMFPlusMetafileTypeđể chọn giữa ghi EMF+ Only và EMF+ Dual ở cấp renderer
Đã sửa
- Đã sửa trang tham chiếu
RenderPageToFilenơi danh sách giá trị Options bị đặt sai chỗ trong dòng Page và ô Options bị để trống
Version 3.175.3
Đã thêm
- Bổ sung unit Lib/PDFlibTableExport.pas kết xuất bất kỳ TDataSet nào (FireDAC, ClientDataSet, kết quả truy vấn) thành một bảng PDF phân trang với tiêu đề có kiểu, sọc zebra, các cột số căn phải và tiếp tục trang tự động, cùng bản demo bảng điều khiển Demo/Delphi/DataSetExport tải mẫu customer.FDS của RAD Studio qua FireDAC và xuất nó
Version 3.175.2
Đã thêm
- Bổ sung các dự án Demo/ReportBridges từ đầu đến cuối xây dựng một báo cáo tối giản trong FastReport, QuickReport và ReportBuilder rồi xuất nó ra PDF qua cầu nối Addons tương ứng, kèm build-ReportBridges.cmd chuyên dụng cung cấp các đường nguồn động cơ và ký tự giới hạn để bản dựng demo tiêu chuẩn vẫn biên dịch các dự án như những bản khung
Version 3.175.1
Đã thêm
- Bổ sung bản demo ma trận tùy chọn JBIG2 của Delphi quét qua các tổ hợp SymbolExtract, SkipBlackDots, BlackDotSize và LossyLevel so với các chuẩn cơ sở CCITT G4 và Flate, với kết quả PDF, CSV và tóm tắt theo từng dòng
- Bổ sung bản demo trưng bày Pattern của Delphi bao trùm các shader RGB trục và bán kính, một shader lưới vá Coons, và một mẫu ốp lát tùy chỉnh được áp dụng làm tô, nét và màu văn bản
- Bổ sung bản demo ma trận fax CCITT của Delphi so sánh nén Group 3 1-D, Group 3 2-D và Group 4 với các bit tùy chọn BlackIs1 và Interpolate, báo cáo kích thước đầu ra của từng trường hợp và tên /Filter thu được
- Bổ sung các cầu nối xuất FastReport, QuickReport và ReportBuilder dưới Addons kết xuất một báo cáo đã chuẩn bị vào PDF Library for Delphi PDF qua các diện tích đối tượng gốc, metafile và DrawCommand của động cơ tương ứng
Version 3.175.0
Đã thay đổi
- Mở rộng bản demo WorkflowGallery với một ma trận biến thể chú thích ghi lại các màu tô làm nổi văn bản, kiểu đánh dấu, biểu tượng ghi chú, văn bản tự do, caret và chú thích tem trong các báo cáo CSV và HTML đi kèm
Version 3.174.0
Đã thay đổi
- Mở rộng bản demo AdvancedWorkflowMatrix của C++Builder để ánh xạ điều hướng hành động, các quy trình PDF/A và AcroForm, chẩn đoán phông, chuyển giao stream và các hàm trợ giúp nén bản quét mới nhất vào các báo cáo ma trận được sinh ra
Version 3.173.0
Đã thêm
- Bổ sung bản demo DeliveryWorkflowMatrix của Delphi cho đầu ra PDF Web và CGI dạng stream, xác thực hình thu nhỏ trang, và các quy trình chuyển giao watermark dùng một bộ đệm byte PDF được sinh ra duy nhất
Version 3.172.0
Đã thêm
- Bổ sung các API tiện lợi cho cây đánh dấu trang hỗ trợ chèn cùng cấp có thứ tự, tạo con, xóa cây con, và liệt kê đánh dấu trang theo thứ tự trước với các chi tiết cha, cùng cấp, cấp, trang đích, trạng thái mở và tiêu đề
Version 3.171.0
Đã thêm
- Bổ sung bản demo bảng điều khiển FontDiagnosticsMatrix của Delphi cho các đường phông CJK và Unicode, cập nhật tập con TrueType, thăm dò phông đã cài đặt, liệt kê phông tài liệu, và các báo cáo chẩn đoán phông
Version 3.170.0
Đã thêm
- Bổ sung bản demo bảng điều khiển CanvasMigrationMatrix của Delphi cho di chuyển Canvas DC, các điểm vào nội dung và đường dẫn thô, các hàm trợ giúp màu Delphi, văn bản tô mẫu, đóng watermark, các quy trình hình thu nhỏ trang, và các bản xem trước xác thực đã kết xuất
Version 3.169.0
Đã thêm
- Bổ sung các bản demo bảng điều khiển Delphi chuyên biệt LayerCompositionMatrix, TransparencyMaskMatrix và ComplianceFormWorkflowMatrix cho chính sách in/xuất nội dung tùy chọn, tổ hợp Pattern/Form XObject, so sánh mặt nạ trong suốt, các ví dụ thành công và thất bại PDF/A-1b, các quy trình hành động AcroForm, dựng lại diện mạo, và các mẫu chữ ký nhìn thấy được
Version 3.168.0
Đã thêm
- Bổ sung các bản demo bảng điều khiển Delphi chuyên biệt ImageCompressionMatrix và SecurityPermissionMatrix với các báo cáo PDF, CSV và HTML được sinh ra để chọn chiến lược nén ảnh, nén bản quét, chất lượng kết xuất JPEG, và kiểm toán hồ sơ quyền của bản mã hóa
Version 3.167.0
Đã thêm
- Bổ sung các API trợ giúp có tên cho mã hóa bitmap JBIG2, các tùy chọn nhập EMF, hành động sự kiện AcroForm, và hành động chuỗi để bên gọi có thể dùng các công tắc tùy chọn tường minh thay vì tự ghép các mặt nạ bit nguyên
Version 3.166.0
Đã thêm
- Bổ sung bản demo bảng điều khiển AdvancedWorkflowMatrix chạy được của C++Builder với các đầu ra PDF, CSV và HTML ánh xạ các quy trình di chuyển canvas nâng cao, nhập EMF, nén ảnh, AcroForm, chữ ký, bảo mật, PDF/A, nội dung tùy chọn, mẫu và Form XObject tới các điểm vào dự án C++Builder
Version 3.165.0
Đã thêm
- Bổ sung bản demo ma trận điều hướng hành động của Delphi trình bày các hành động mở tài liệu, JavaScript cấp tài liệu, liên kết tệp nhúng, liên kết GoTo từ xa, các hành động sự kiện AcroForm, các hàm trợ giúp liên kết Submit/Reset/Hide, và các hành động Next nối chuỗi với các đầu ra PDF, CSV và HTML
Đã sửa
- Đã sửa các hàm trợ giúp liên kết tệp từ xa để AddLinkToFile, AddLinkToFileEx, AddLinkToFileDest và các liên kết chạy tệp cục bộ tạo một chú thích rồi trả về thay vì lặp vô hạn
Version 3.164.0
Added
- Đã thêm một demo ma trận bảo vệ PDF/A cho Delphi, kiểm tra các quyết định từ chối sớm hoặc cho phép đối với phần thiết lập chế độ PDF/A, độ trong suốt, chế độ hòa trộn, mã hóa, JavaScript, đa phương tiện, tệp nhúng và quy trình tệp liên kết của PDF/A-3, kèm các báo cáo PDF, CSV và HTML được tạo ra
Version 3.163.0
Added
- Đã thêm ma trận cầu nối ReportAdapter rõ ràng cho các đường xuất FastReport, QuickReport, ReportBuilder, DBGrid và canvas tùy chỉnh, bao gồm đầu ra ánh xạ CSV và HTML được tạo ra cùng một trang PDF cho thấy chiến lược bộ điều hợp có thể tái sử dụng
Version 3.162.0
Added
- Đã thêm ma trận demo quy trình nâng cao tạo đầu ra cụ thể cho di chuyển canvas, tùy chọn nhập EMF, so sánh nén ảnh, quy trình action của AcroForm, chữ ký trống hiển thị, quyền bảo mật, kiểm tra PDF/A-1b, nội dung tùy chọn, mẫu tiling, Form XObject, xuất bảng kiểu DBGrid và báo cáo bộ nhớ đỉnh cho tệp lớn
Version 3.161.0
Added
- Đã thêm các helper Delphi cho việc dựng action open-document gọn, action sự kiện hiển thị của field, bộ đặt màu TColor và màu xám, cùng việc chèn trực tiếp raw content, path, text và matrix vào content stream
Version 3.160.0
Added
- Đã thêm các helper Delphi cho nén ảnh quét bitmap-to-JBIG2, thiết lập một lần image mask và độ trong suốt color-key, chuỗi GoTo action, cùng tên sự kiện AcroForm dễ đọc để gán JavaScript hoặc action hiện có; đồng thời mở rộng ImportEMFFromFileEx và ImportEMFFromStreamEx để cờ Options có thể buộc nhập bitmap, bật nén lại JPEG cho ảnh màu EMF và yêu cầu điều khiển xử lý GDI+
- Đã mở rộng
ImportEMFFromFileExvàImportEMFFromStreamExđể các cờOptionscó thể buộc nhập bitmap, bật nén lại JPEG cho ảnh màu EMF và yêu cầu điều khiển xử lý GDI+
Version 3.159.1
Changed
- Đã cải thiện
SaveToStreamvà việc lưu bound output stream để các PDF stream object lớn được ghi theo từng khối giới hạn thay vì sao chép từng stream object vào một chuỗi đầu ra trung gian
Version 3.159.0
Added
- Đã thêm các helper đặt ảnh giúp vẽ hoặc căn vừa một ảnh được chỉ định rồi giải phóng handle ngay sau đó, với các điểm vào Delphi, DLL và ActiveX để giảm bộ nhớ đỉnh trong các quy trình tạo ảnh dùng một lần
- Đã thêm
RenderPageToMonochromeFileExcho việc dựng 1-bit BMP với chuyển đổi ngưỡng và dọn dẹp black-pixel riêng lẻ trước các quy trình nén ảnh quét
Version 3.158.1
Added
- Đã thêm các demo quy trình Delphi cho xuất kiểu report có thể tái sử dụng, nhập rich text từ RichEdit sang EMF, cùng các kịch bản kết hợp page-thumbnail, annotation, form XObject, table, compression, JavaScript và bound-stream output
Version 3.158.0
Added
- Đã thêm các API điều khiển mã hóa metadata với điểm vào Delphi, DLL và ActiveX: SetEncryptMetadata có thể ghi PDF Standard-security với các XMP metadata stream chưa mã hóa, còn GetEncryptMetadata báo trạng thái /EncryptMetadata đang chờ hoặc đã nạp
Version 3.151.0
Added
- Đã thêm
DrawPie,DrawChord,DrawEllipticPievàDrawEllipticChordđể vẽ cung tròn và cung elip khép kín rõ ràng với các chế độ outline, fill hoặc fill-and-outline
Version 3.150.0
Added
- Đã thêm
NewGraphicsStatevàSetGraphicsStateđể người gọi có thể tạo các tài nguyên ExtGState tái sử dụng cho bộ thiết lập fill transparency, stroke transparency, line width, line cap, line join và miter-limit kết hợp
Version 3.149.1
Fixed
- Đã sửa các ActiveX dispatch ID bị trùng cho các phương thức Form XObject và miter-limit để các lời gọi COM late-bound phân giải từng phương thức một cách không mơ hồ
Version 3.149.0
Added
- Đã thêm
SetMiterLimitđể điều khiển tỷ lệ stroke miter-limit cho các path dùng miter join - Đã công khai
BeginFormXObject,EndFormXObjectvàCancelFormXObjectthông qua các API DLL và ActiveX
Version 3.148.0
Added
- Đã thêm các API dựng Form XObject có thể tái sử dụng:
BeginFormXObject,EndFormXObjectvàCancelFormXObjectcho phép người gọi vẽ một mẫu tái sử dụng bằng các lệnh vẽ trang thông thường và đặt nó lặp lại qua các API vẽ trang đã bắt giữ
Version 3.147.0
Added
- Đã thêm
SetTextTilingPatternvàSetLineTilingPatternđể các tiling pattern của trang đã bắt giữ có thể tái sử dụng cho văn bản, gạch chân và đồ họa nét vẽ mà không phải nhân đôi lệnh vẽ
Fixed
- Màu shader và màu mẫu lát ô có nét giờ ghi toán tử màu mẫu nét thay vì cập nhật trạng thái màu không nét
Version 3.146.0
Added
- Đã thêm
BeginOptionalContentvàEndOptionalContentđể người gọi chỉ đánh dấu các lệnh vẽ tiếp theo bằng optional content group mà không phải viết lại content stream hiện có
Fixed
- Các toán tử marked-content đóng phạm vi giờ được xả ngay lập tức khi optional content, tagged PDF hoặc artifact scope được đóng ở cuối content stream
Version 3.145.0
Added
- Đã thêm
SetTransparencyExđể người gọi có thể đặt riêng giá trị transparency cho fill và stroke của văn bản và đồ họa được vẽ tiếp theo, trong khi vẫn giữ hành vi tự nâng cấp PDF 1.4 hiện có
Version 3.144.0
Added
- Đã thêm
AddLinkToNamedDestinationđể hotspot trên trang có thể nhảy tới named destination cùng tài liệu mà không cần giải quyết trang đích vào lúc tạo link
Fixed
- Bộ đọc annotation action giờ trả về không có action cho các trang không có annotation thay vì dereference một annotation cache rỗng
Version 3.143.0
Added
- Đã thêm các API quản lý form-field action để người gọi có thể gắn một action hiện có vào field trigger, kiểm tra typed trigger action và xóa primary hoặc additional field actions
Fixed
FormFieldJavaScriptActiongiờ từ chối các tài liệu PDF/A và tên trigger không hợp lệ thay vì ghi các field action dictionary không tuân thủ
Version 3.142.0
Added
- Đã thêm các API action chaining để người gọi có thể nối URI, named và JavaScript next-actions vào annotation, outline hoặc form-field action hiện có và xem các action đã nối qua
GetActionNextCountvàGetActionNextInfo
Version 3.141.0
Đã thêm
- Bổ sung
AddLinkToSubmitFormvàAddLinkToResetFormđể các vùng nóng trên trang có thể gửi hoặc đặt lại trường AcroForm qua các PDF action chuẩn mà không cần JavaScript
Version 3.140.0
Đã thêm
- Bổ sung
AppendToStreamđể các quy trình cập nhật tăng dần ghi trực tiếp vào stream do caller cung cấp thay vì phải materialize bản cập nhật thànhAnsiStringtrước
Đã thay đổi
SaveToStreamgiờ serialize trực tiếp vào stream đích, vàAppendToString(1)giờ chỉ trả về phần cập nhật tăng dần mà không chép các byte gốc vào buffer tạm
Version 3.139.0
Đã thêm
- Bổ sung
GetAnnotReplyTovàGetAnnotReplyTypeđể tra cứu các phản hồi chú thích dạng chuỗi qua accessor đọc có tên riêng thay vì các tag thuộc tính chú thích chung
Version 3.138.0
Đã thêm
- Bổ sung mẫu Delphi
DocumentInspectionWorkbenchđể kiểm tra PDF theo lô với chẩn đoán font kết hợp, lấy mẫu ảnh, dò color-space, đo thời gian tải và báo cáo JSON, CSV, HTML
Version 3.137.0
Đã thêm
- Bổ sung mẫu Delphi
ImageDecodeBenchmarkđể đo việc dò ảnh trên trang, số byte ảnh đã giải mã và việc dò color-space của trang với báo cáo thời gian CSV và HTML
Version 3.136.0
Đã thêm
- Bổ sung
GetDocumentFontDiagnosticsvàTPDFlibFontDiagnosticsđể tóm tắt việc nhúng font, subsetting, số font Standard 14, CID, Type3 và font lạ của tài liệu trong một lần gọi
Version 3.135.0
Đã thêm
TPDFlibSignatureVerifier.VerifySignerCertificateChaingiờ dựng chuỗi chứng chỉ của người ký nhúng trong tài liệu bằng Windows CryptoAPI và chỉ trả vềvsValidkhi chuỗi đáp ứng chính sách tin cậy cơ sở của Windows; chứng chỉ tự ký hoặc không đáng tin cậy khác trả vềvsInvalidmà không đổi kết quả toàn vẹn nội dung củaVerifySignature
Version 3.134.0
Đã sửa
TPDFlibSignatureVerifier.VerifySignaturenay xác thực các chữ ký kiểu cũadbe.pkcs7.sha1, trả vềvsValidkhi bản ghi tóm lược đã ký khớp với các byte/ByteRangeđược bao trùm vàvsInvalidsau khi nội dung được bao trùm thay đổi
Version 3.133.0
Đã thêm
- Thêm
RenderPagesToFilesvàDARenderPagesToFilesđể kết xuất các khoảng trang tùy ý ra các tệp đầu ra được đánh số trong khi tái sử dụng thiết lập bộ kết xuất trên các trang đã chọn
Version 3.132.0
Đã thêm
- Thêm các trình đóng dấu tiện ích
AddPageHeadervàAddPageFootergiúp đặt văn bản ở lề trên hoặc dưới cố định trên mỗi trang trong một phạm vi, với khả năng căn trái/giữa/phải và khai triển mã thông báo (&Ptrang hiện tại,&Ntổng số trang,&Dngày tháng,&Ttiêu đề tài liệu,&&ký hiệu và theo nghĩa đen) StampTextvàStampImagevớisoUnderlaygiờ đây thực sự đặt nội dung bên dưới nội dung trang hiện có bằng cách thêm một lớp nội dung mới vào đầu (trước đây nó vẽ đè lên trên giống nhưsoOverlay); được hỗ trợ bởi một phương thức cây cấu trúc trang mới làPrependContentLayer
Version 3.131.0
Đã thêm
- Thêm
ScalePage(ScaleX, ScaleY, Anchor)giúp chia tỷ lệ nội dung của trang được chọn bằng cách bọc mọi lớp nội dung trong một khối trạng thái đồ họaq sx 0 0 sy tx ty cm ... Qvà thay đổi kích thước của MediaBox và CropBox; điểm neo (anchor) giữ nguyên gốc tọa độ góc dưới bên trái (0), căn giữa nội dung (1) hoặc giữ nguyên góc trên bên trái (2) - Mở rộng
EnumPageElementsvới loại phần tử mớiekPath: giờ đây mỗi trang cũng báo cáo các đường dẫn vector của nó kèm theo hộp giới hạn (bounding box), số lượng điểm, cờ đóng và toán tử vẽ, được trích xuất từ các luồng nội dung thông qua mô hình nội dung có cấu trúc
Version 3.130.0
Đã thêm
- Thêm ba API tối ưu hóa kích thước tệp giúp thu nhỏ các tài liệu đã tải khi lưu lại:
SubsetEmbeddedFontsviết lại mọi chương trình phông chữ TrueType được nhúng (FontFile2) xuống chỉ còn các ký tự Unicode mà tài liệu thực sự kết xuất thông qua dịch vụCreateFontPackagecủa FontSub.dll;DownsampleImages(MaxDPI, Quality, Filter)giải mã từng XObject hình ảnh có độ phân giải lớn hơn DPI mục tiêu, lấy mẫu lại (dạng hộp hoặc song tuyến tính) và mã hóa lại thành JPEG hoặc PNG;NormalizeLZWStreamsviết lại mọi luồng vẫn đang được lọc bằng LZWDecode sang FlateDecode thông qua bộ giải mã LZW và bộ mã hóa Flate hiện có, trong khi vẫn giữ nguyên các tham số Predictor
Version 3.129.0
Đã thêm
- Thêm các API tạo đổ bóng dạng lưới cho bốn loại đổ bóng mà trước đây chỉ hỗ trợ đọc/phân tích:
NewRGBFreeFormTriangleMesh(ShadingType 4, tam giác Gouraud dạng tự do),NewRGBLatticeTriangleMesh(ShadingType 5, Gouraud dạng mạng tinh thể),NewRGBCoonsPatchMesh(ShadingType 6, lưới mảnh Coons) vàNewRGBTensorPatchMesh(ShadingType 7, lưới mảnh tích tensor) — mỗi hàm sẽ xây dựng một mẫu đổ bóng dạng lưới được đặt tên từ một danh sách các đỉnh hoặc mảng phẳng với độ sâu bit tọa độ/màu và hộp giới hạn có thể lựa chọn, có thể chọn bằngSetFillShader/SetLineShader/SetTextShadergiống như các bộ đổ bóng hướng trục và hướng tâm hiện có
Version 3.128.0
Đã thêm
- Thêm dải hình thu nhỏ (thumbnail strip) cho trình xem:
TPDFlibThumbnailBarhiển thị hình thu nhỏ của từng trang, được kết xuất theo cơ chế tải chậm (lazy render) khi các hàng cuộn vào vùng nhìn thấy, với số trang ở bên dưới; nhấp vào một hình thu nhỏ sẽ chuyển trình xem được đính kèm đến trang đó — hoàn thiện bộ điều khiển trình xem (trình xem, bảng dấu trang, bảng tìm kiếm, hình thu nhỏ)
Version 3.127.0
Đã thêm
- Thêm bảng tìm kiếm (search panel) cho trình xem:
TPDFlibSearchPanel.RunSearchtìm kiếm toàn bộ tài liệu được đính kèm và liệt kê một hàng cho mỗi kết quả với số trang và văn bản khớp; nhấp vào một kết quả sẽ chuyển trình xem đến trang đó
Version 3.126.0
Đã thêm
- Thêm bảng dấu trang (bookmark panel) cho trình xem:
TPDFlibOutlineViewerliệt kê cây cấu trúc tài liệu với các mức thụt lề và chuyển trình xem được đính kèm (thông quaAttachViewer) đến trang đích của dấu trang khi được nhấp vào; bảng này được xây dựng trên một lớp cơ sở bảng điều khiển có thể tái sử dụng mà các bảng bên sau này sẽ chia sẻ chung
Version 3.125.0
Đã thêm
- Thêm tính năng chọn văn bản vào điều khiển trình xem: kéo bằng nút chuột trái để chọn, nhấn Ctrl+C hoặc gọi
CopySelectedTextđể sao chép phần chọn vào khay nhớ tạm (clipboard); văn bản được lấy ra có sẵn thông qua thuộc tínhSelectedText, được sắp xếp từ trên xuống dưới với các dấu ngắt dòng giữa các dải - Thêm
GetTextInRegion, hàm này trả về trực tiếp văn bản của một vùng trang hình chữ nhật — đây cũng là tính năng tra cứu dựa trên khối mà thao tác chọn bằng chuột sử dụng, có sẵn cho các giao diện chọn tùy chỉnh
Version 3.124.0
Đã thêm
- Điều khiển trình xem hiện đã kết xuất trước các trang lân cận trên một luồng nền, do đó việc chuyển trang tới hoặc lùi sẽ hiển thị trang tiếp theo ngay lập tức; luồng làm việc sử dụng phiên bản tài liệu riêng của nó và bàn giao các kết quả kết xuất đã hoàn thành cho bộ nhớ cache mà không làm chặn giao diện người dùng
- Thêm tính tương tác liên kết vào trình xem: nhấp vào một chú thích liên kết sẽ kích hoạt
OnLinkClickvới số trang và cùng một bản tóm tắt thao tác có kiểu màGetAnnotActionInfotạo ra (địa chỉ web, đích tài liệu, thao tác được đặt tên v.v.);LinkActionAtPagePointphơi bày tính năng kiểm tra va chạm (hit test) bên dưới cho việc xử lý tùy chỉnh
Version 3.123.0
Đã thêm
- Điều khiển trình xem đã có tính năng cuộn liên tục:
SetDisplayModechuyển đổiTPDFlibViewergiữa chế độ hiển thị một trang và cuộn dọc liên tục qua toàn bộ tài liệu, với chỉ các trang hiển thị trong khung nhìn được kết xuất và trang hiện tại theo dõi vị trí cuộn (kích hoạtOnPageChangekhi các trang hiển thị vào vùng nhìn thấy) - Các trang đã kết xuất hiện được giữ trong một bộ nhớ cache bitmap least-recently-used (ít được sử dụng nhất gần đây), do đó việc cuộn tới lui không cần kết xuất lại; ngân sách bộ nhớ mặc định là 128 MB và có thể điều chỉnh bằng
SetCacheLimit, đẩy ra các trang cũ nhất khi ngân sách bị thu hẹp hoặc đầy - Thêm tính năng cuộn bằng con lăn chuột và điều hướng bằng bàn phím cho trình xem: PageUp/PageDown (bước theo trang ở chế độ một trang, bước theo khung nhìn ở chế độ cuộn liên tục), các phím mũi tên, Home và End
Version 3.122.0
Đã thêm
- Thêm điều khiển trình xem PDF tương tác:
TPDFlibViewerlà một điều khiển cuộn VCL mở tài liệu từ tệp hoặc đính kèm vào một phiên bảnTPDFlibhiện có, hiển thị các trang thông qua engine kết xuất được chọn (GDI+, Cairo hoặc PDFium), và cung cấp điều hướng trang (GoToPage/NextPage/PrevPagekèm sự kiệnOnPageChange) cùng khả năng điều khiển thu phóng — tỷ lệ phần trăm cố định, vừa chiều rộng (fit-to-width) hoặc vừa trang (fit-to-page), được tính toán lại tự động khi điều khiển thay đổi kích thước; các trang rộng hơn khung nhìn sẽ cuộn, các trang hẹp hơn sẽ được căn giữa - Thêm gói thời gian thiết kế (design-time package) (
Package\PDFlibViewerPkg.dpk) đăng ký điều khiển này trên trang bảng màu losLab PDF để sử dụng theo kiểu kéo-thả trong IDE
Version 3.121.0
Đã thêm
- Định hình (shaping) văn bản chữ viết phức tạp tự động trong
DrawText: văn bản chứa các ký tự tiếng Ả Rập, tiếng Do Thái, tiếng Ấn Độ hoặc chữ viết phức tạp khác hiện được phát hiện và định hình tự động — các dạng chữ cái theo ngữ cảnh, chữ ghép bắt buộc và thứ tự từ phải sang trái hiển thị chính xác mà không cần thay đổi mã; 14 tên phông chuẩn ánh xạ đến các phông chữ đã cài đặt tương thích về số đo (Helvetica thành Arial, Times thành Times New Roman, Courier thành Courier New) vàGetTextWidthđo lường qua cùng một quá trình định hình để việc căn chỉnh luôn nhất quán; văn bản hệ Latinh, Cyrillic, tiếng Hy Lạp và CJK vẫn giữ nguyên đường dẫn vẽ hiện tại chính xác đến từng byte - Thêm
SetTextShapingđể bật tắt định hướng tự động (mặc định được bật; truyền 0 để khôi phục chính xác hành vi trước khi có tính năng định hình)
Version 3.120.0
Đã thay đổi
- Các phông chữ đi kèm chứa văn bản định hình (shaped-text) hiện được tạo tập con (subset) tại thời điểm lưu chỉ với các glyph (hình dạng ký tự) mà tài liệu hiển thị, giúp thu nhỏ đáng kể kích thước tệp đầu ra (một chương trình phông chữ đầy đủ hơn một megabyte giảm xuống chỉ còn các glyph được sử dụng); phông chữ được tạo tập con vẫn giữ đánh số glyph của nó, mang tên
BaseFontđược gắn thẻ tập con và độ rộng/Wthực cho mỗi glyph, đồng thời có thêm bản đồ ToUnicode giúp dịch từng glyph đã định hình trở lại các ký tự nguồn của nó — do đó việc sao chép hoặc trích xuất đầu ra củaDrawShapedTextsẽ trả về chuỗi gốc, bao gồm cả hai chữ cái đằng sau chữ ghép lam-alef
Version 3.119.0
Đã thêm
- Thêm tính năng vẽ văn bản chữ viết phức tạp:
DrawShapedTextđịnh hình các chuỗi tiếng Ả Rập, tiếng Do Thái và các chuỗi chữ viết phức tạp khác trước khi vẽ chúng — dạng chữ cái theo ngữ cảnh, chữ ghép bắt buộc như lam-alef, và thứ tự từ phải sang trái đều hiển thị chính xác — và ghi các glyph đã định hình thông qua một phông chữ đi kèm Type0 (Identity-H) nhúng toàn bộ chương trình phông, do đó các hình dạng không có mã ký tự riêng vẫn kết xuất chính xác; một phông chữ đi kèm được tạo cho mỗi kiểu chữ và tái sử dụng cho các lần gọi - Thêm
GetShapedTextWidth, hàm này đo văn bản thông qua cùng một quá trình định hình nên văn bản chứa chữ ghép sẽ được đo bằng chiều rộng vẽ thực của nó — hãy dùng nó để căn phải hoặc căn giữa các đoạn văn bản đã định hình
Version 3.118.0
Đã thêm
- Thêm nền tảng định hình văn bản cho ngôn ngữ có ký tự phức tạp (complex-script text shaping): một trình liên kết Uniscribe (usp10.dll) mới giúp biến đổi chuỗi tiếng Ả Rập, tiếng Do Thái và các ngôn ngữ phức tạp khác thành các chuỗi hiển thị theo đúng thứ tự và hình dạng — các dạng tiếng Ả Rập theo ngữ cảnh, các chữ ghép bắt buộc như lam-alef, và thứ tự từ phải sang trái — đồng thời báo cáo chỉ mục hình dáng phông chữ, khoảng cách và cụm ký tự gốc của từng ký tự; đây là công cụ định hình (shaping engine) mà các phiên bản sau này sẽ sử dụng để xây dựng đường dẫn vẽ (drawing path), và nó được tải theo cơ chế lazy-load (tải muộn) để các nền tảng không có Uniscribe chỉ việc tiếp tục sử dụng đường dẫn cũ theo từng ký tự
Version 3.117.0
Đã thêm
- Thêm tính năng tự phân tích (introspection) cấu hình ICC (ICC profile):
GetOutputIntentICCInfophân tích cấu hình ICC được đính kèm vào OutputIntent của tài liệu và báo cáo phiên bản, lớp thiết bị, không gian màu của dữ liệu, không gian kết nối cấu hình, mục đích hiển thị và số lượng thành phần — hữu ích trong việc kiểm tra điều kiện in của các tệp định dạng PDF/A và PDF/X; hệ thống xử lý không gian màu ICCBased của bộ kết xuất hiện cũng lấy số lượng thành phần trực tiếp từ tiêu đề cấu hình (profile header) khi không gian màu của phần đổ bóng không cung cấp các khóa/Alternatehoặc/N
Version 3.116.0
Đã thêm
- Thêm chế độ trích xuất văn bản hỗ trợ bảng:
GetPageTextvới tùy chọn 10 phân nhóm các mép trái của các khối văn bản trên trang thành các vị trí cột toàn cục và xuất ra các hàng phân tách bằng tab, nhờ đó các bố cục dạng bảng (tabular) sẽ được trích xuất dưới dạng TSV sẵn sàng import, với các ô được căn chỉnh theo chiều dọc sẽ được giữ thẳng hàng giữa các hàng
Version 3.115.0
Đã thêm
- Thêm tính năng bình trang (page imposition):
ImposePagesNUptrải mọi trang của tài liệu ra các tờ mới theo dạng lưới n-up (2 trang/tờ, 4 trang/tờ, 9 trang/tờ hoặc sắp xếp theo ma trận Cột x Hàng) với mỗi trang được chỉnh vừa tỷ lệ và căn giữa vào trong ô của mình dưới dạng nội dung vector, hoặc — với tùy chọn dạng sổ sách (booklet) — tạo ra các tờ đóng ghim lồng ghép thành một cuốn sách nhỏ khi in hai mặt và xếp chồng lên nhau
Version 3.114.0
Đã thêm
- Mở rộng tính năng đọc action có kiểu
GetAnnotActionInfovàGetOutlineActionInfovới thêm bốn loại thao tác nữa — Hide (với số lượng mục tiêu bị ẩn và cờ ẩn/hiện), SubmitForm (URL để gửi và số lượng trường), ResetForm (số lượng trường) và ImportData (tệp nguồn) — và đưa ra thông tin về tải trọng tên (name payload) của các thao tác dạng Named (chẳng hạn nhưNextPage); giờ đây cả hai trình đọc chia sẻ chung một bộ phân tích cú pháp (parser), do đó các liên kết và dấu trang (bookmark) của chú thích sẽ báo cáo các thông tin giống hệt nhau
Version 3.113.0
Đã thêm
- Thêm các hàm hỗ trợ định dạng trường biểu mẫu:
SetFormFieldNumberFormat(số lượng chữ số thập phân, kiểu dấu phân cách, kiểu số âm và vị trí đặt ký hiệu tiền tệ),SetFormFieldPercentFormatvàSetFormFieldDateFormat(chuỗi định dạng ngày của Acrobat, ví dụmm/dd/yyyy), mỗi hàm sẽ ghi một cặp JavaScript định dạng tiêu chuẩn Acrobat vào các action bổ sung của trường — bao gồm một bộ lọc phím (keystroke filter) và một bộ định dạng hiển thị — nhờ vậy các trình xem chuẩn tương thích sẽ xác thực được đầu vào và hiển thị các giá trị đã định dạng mà không cần viết tay mã JavaScript
Version 3.112.0
Đã thêm
- Thêm tính năng tạo chú thích Âm thanh (Sound annotation):
AddSoundAnnotationFromFileđọc tệp PCM WAV không nén (8 hoặc 16 bit, mono hoặc stereo) và nhúng mẫu âm thanh ở ẩn đằng sau một chú thích mang hình biểu tượng loa, tồn tại dưới dạng một luồng/Soundở kiểu mã hóa đã ký (signed encoding) đúng như những gì hệ thống âm thanh PDF yêu cầu, giúp hoàn thành chu trình trao đổi hai chiều đi kèm với các trình đọcGetAnnotSoundToFile/GetAnnotSoundToStringhiện có
Version 3.111.0
Đã thêm
- Thêm tính năng phản hồi chú thích dạng luồng (ISO 32000-1 §12.5.6.3):
AddAnnotationReplysẽ gắn phản hồi vào bất kỳ chú thích nào hiện có dưới dạng một chú thích Text ẩn có tham chiếu/IRThướng đến mục tiêu với mối quan hệ/RTreply (phản hồi), nhờ đó Acrobat và các phần mềm xem khác sẽ hiển thị nó theo dạng luồng lồng nhau dưới chú thích mục tiêu bên trong bảng nhận xét; bạn có thể kết hợp vớiAddAnnotationStatevà sự trao đổi dữ liệu FDF để có các quy trình xét duyệt đánh giá hai chiều một cách đầy đủ
Version 3.110.0
Đã thêm
- Thêm tính năng kết xuất các bóng đổ dạng lưới (mesh) và dựa trên hàm toán học, hoàn thiện khả năng hỗ trợ cho toàn bộ bảy kiểu bóng đổ PDF: lưới tam giác Gouraud dạng tự do (kiểu 4), lưới Gouraud có cấu trúc mắt lưới (kiểu 5), lưới chắp vá (patch mesh) Coons (kiểu 6) và lưới chắp vá tensor-product (kiểu 7) được giải mã từ luồng dữ liệu đóng gói dạng bit của chúng — bao gồm cả các cờ chắp vá cạnh chung, thuật toán ánh xạ
/Decodevà các đoạn/Functionbiến thiên màu (colour ramp) tùy chọn — sau đó vẽ đồ họa thông qua hệ thống dải màu lưới riêng (native mesh gradient) của engine Cairo; các bóng đổ dựa trên hàm (kiểu 1) được ước tính bằng cách lấy mẫu hàm màu đổ bóng trên miền xác định của nó cho vào một mảng lưới vá mịn màng; các không gian màu được hỗ trợ bao gồm DeviceRGB, DeviceGray, DeviceCMYK và các không gian thay thế dạng ICCBased (engine GDI+ không sở hữu tính năng nguyên thủy cho loại lưới trải màu gradient này và do đó để trống vùng không sơn)
Version 3.109.0
Đã thêm
- Hoàn thành hệ thống biên tập nội dung (giai đoạn 4) với các thao tác chỉnh sửa cấp độ văn bản:
TPDFContentProgram.GetTextRunsliệt kê các lệnh hiển thị văn bản của một trang kèm theo tài nguyên phông chữ và kích thước đang hoạt động tại từng lệnh đó (theo dõi trạng thái phông qua các chu kỳ save/restore lồng nhau), vàReplaceTextRunthay thế trực tiếp đoạn văn bản đang hiện diện — một hình thức thay thế content-stream thực thụ nhằm giữ nguyên vị trí, phông chữ và màu sắc ban đầu, khác hẳn với các cách tiếp cận đắp lớp kiểu overlay vốn che đi văn bản cũ rồi vẽ đè lên trên
Version 3.108.0
Đã thêm
- Thêm object model về hình học (geometry) cho trang vào trong hệ thống biên tập nội dung (giai đoạn 3):
TPDFContentProgram.LiftPathsẽ nâng một đối tượng đường dẫn (path) (bao gồm toán tử tạo move/line/curve/rectangle kết hợp với những toán tử cắt và vẽ kết thúc chúng) trở thành một objectTPDFPathgồm các đường nối phụ và mảnh nhỏ có thể chỉnh sửa;TPDFPath.Transformáp dụng một ma trận affine vào mọi điểm (dịch chuyển, thu phóng, xoay hoặc làm nghiêng đồ họa hiện có);LowerPathghi phần hình học vừa sửa đè trở lại vào ngay các toán tử ban đầu, sẵn sàng dành choWritePageContentLayer
Version 3.107.0
Đã thêm
- Mở rộng hệ thống biên tập nội dung (giai đoạn 2) bằng các hàm tiện ích mức độ lệnh (instruction-level) trên
TPDFContentProgram:InsertFromSourcephân tích một chuỗi mã nội dung và đính trực tiếp các lệnh đó vào bất cứ vị trí nào;SetOperandsửa lại một toán hạng (operand) trực tiếp từ cú pháp mã nguồn (sửa một tọa độ, đổi màu nét đồ bóng);OperandTextđọc lấy một toán hạng;InstructionGroup,FindNextOpvàFindNextGroupđịnh hướng và duyệt dọc theo danh sách lệnh (instruction list) nhờ mã thao tác (operator) hoặc thông qua danh mục nhóm mã của ISO 32000-1
Version 3.106.0
Đã thêm
- Bổ sung giai đoạn 1 của khung công cụ biên tập nội dung có cấu trúc (structured content editing):
ParsePageContentLayergiải mã layer nội dung trang thànhTPDFContentProgramcó thể chỉnh sửa — tức là một danh sách các câu lệnh, mỗi lệnh là một toán tử (toàn bộ 73 toán tử trong bảng 51 của tiêu chuẩn ISO 32000-1) cùng với các thành phần đối tượng tham số đã được giải mã của toán tử đó — sau đóWritePageContentLayerchuyển chuỗi chương trình đó quay lại vào tệp PDF của trang, giúp người dùng có thể parse, truy xuất, xóa hoặc xếp lại vị trí các toán tử hướng dẫn đồ họa để tái thiết (rewrite) trang;GetPageContentLayerCountbáo cáo tổng số lớp nội dung trang có thể chỉnh sửa độc lập; thành phần khởi chạy lưu nguyên trạng hành vi (các bước qua lại giữ nguyên trạng ảnh pixel gốc), những lệnh lạ không được xử lý bị lướt qua vẫn y nguyên chữ, còn lệnh đính kèm dạng hình ảnh inline image cũng vẫn bảo lưu đầy đủ
Version 3.105.0
Đã thêm
- Bổ sung chế độ đọc theo thứ tự trích xuất văn bản:
GetPageTexttùy chọn 9 lấy ra các chữ theo thứ tự đọc tự nhiên nhờ sử dụng giải pháp đánh giá khoảng trắng rẽ nhánh không ngừng đệ quy (phương pháp XY-cut), do đó các định dạng chia đa cột thì văn bản được trích xuất hết lần lượt toàn bộ từng cột — ví dụ một tiêu đề dài rộng bằng trang đi trước, theo sau đó mới là cả đoạn nguyên cột bên trái, rồi mới sang cả cột phải — chứ không lấy chữ kẹp đan xen giữa hai bên nếu đi cắt qua ngang như việc phân theo trật tự chiều dọc, trên xuống dưới, trái qua phải
Version 3.104.0
Đã thêm
- Bổ sung phân tích tự động dành cho chữ ký số (signer-certificate introspection):
GetSignerCertificategiải mã vùng tải chứa thông điệp PKCS#7 từ chuỗi signature đầu tiên, sau đó sẽ gửi trả bản tóm lược đã khai báo kiểu cụ thể từ giấy chứng nhận lưu nhúng bên trong — gồm danh xưng và thông tin của người nhận và người xuất chứng nhận, mã sê-ri nằm dưới dạng hex dễ nhìn phổ biến, chu kỳ duy trì hiệu lực từ lúc tạo lập tới kỳ đáo hạn dưới múi giờ UTC chuẩn hóa (NotBefore/NotAfter) và kèm một loại dấu cờ check thuận tiện giúp báo cáo xem giấy chứng nhận đó nằm vừa vặn ở bên trong ranh giới khả dụng hay không; chữ ký này được truy vấn đồng nhất bằng tên và mã serial qua toàn bộ các chứng nhận nội hàm khác
Version 3.103.0
Đã thêm
- Bổ sung hàm
NewRGBRadialShader, một dạng tương tự ở kiểu vòng bán kính so với phương pháp gốcNewRGBAxialShader: hàm sẽ đăng ký hiệu ứng lưới biến đổi hình tròn hai tâm (ShadingType 3, ISO 32000-1 §8.7.4.5.3) kết hợp loang màu liên tục hòa quyện giữa các biến RGB phân biệt của từng vùng với hai dải tùy chọn vượt mức khung ngoài màu gốc hai trục, hàm này cung cấp tương thích sẵn lựa chọnSetFillShader,SetLineShaderhoặc áp cho biếnSetTextShaderqua lớp áo “đổ sáng ảo” theo phong cách bóng vòng và khung đi nét liền chèn qua văn bản đồ họa
Version 3.102.0
Đã thêm
- Thêm tính năng kết xuất gradient (đổ bóng màu biến thiên) dạng bán kính/radial (ShadingType 3) (ISO 32000-1 §8.7.4.5.4): giờ đây trình vẽ trang sẽ đổ các lớp shading bán kính loại kết cấu từ 2 điểm tâm (two-circle radial) áp dụng từ toán tử
shvà cho các đường viền đổ bóng fill shading, bên cạnh đó kết hợp với phần gradient tạo theo trục tọa độ (axial) (ShadingType 2) vốn trước đó hỗ trợ đầy đủ; áp dụng xuyên suốt cùng các lõi vẽ ảnh Cairo và GDI+ đi kèm chức năng xử lý ngắt chuyển tông màu nhiều điểm chốt, dùng tốt qua tất thảy các bộ color-space quen thuộc từ DeviceRGB, DeviceCMYK, DeviceN, Separation cho tới bộ lọc ICCBased lẫn thuật toán nhận và duy trì phần tính năng cho/Extend
Version 3.101.0
Đã thêm
- Cung cấp hỗ trợ về các hiệu ứng viền viền dạng mây mù/lượn sóng (cloudy) (ISO 32000-1 §12.5.4):
SetAnnotCloudyEffectchuyển trạng thái đường viền của loại hình chú thích góc Square, Circle, đa giác Polygon hoặc vùng mở FreeText sang đường nét được cấu tạo bằng các nửa cung bán khuyên liên kết móc nối với nhau dưới tên “đám mây thay đổi” (revision cloud) do thiết lập trong thông số từ điển/BE(border effect), có cung cấp tham biến 1 hay 2 chuẩn hóa về cả chức năng định dạng Cloudy từ hệ thống hiển thị chính hãng Acrobat. Khi đẩy nó bằng 0 sẽ khiến hiệu ứng trở về dạng không, kết hợp một hàm trảGetAnnotCloudyEffectđọc ghi thông số đo ngự (0 là đường trơn bình thường không nét mây và ngược lại trả từ 1 tới 2 biểu thị hiệu suất cấp độ dập cong viền chú thích)
Version 3.100.0
Đã thêm
- Thêm vào danh sách ghi nhận trạng thái bình duyệt chú thích (review states) (ISO 32000-1 §12.5.6.3): hàm
AddAnnotationStatethiết lập lưu vết dòng thông tin phản hồi từ bất cứ khung bình chú bằng chuỗi gắn dạng chữ Text (giấu) mà ở đó định hướng trỏ đường từ/IRTchĩa trực tiếp vô đối tượng đích đi liền theo/Statekết nối luôn cụm/StateModelgói trong bản thân lệnh cập nhật, nó đáp ứng tiêu chuẩn hỗ trợ trên modelReviewthông qua bộ chỉ dấu đánh giá None, Accepted (Chấp nhận), Rejected (Hủy), Cancelled hoặc Completed (Hoàn thiện) song hành mô-típ phân nhánh kiểmMarked(gắn giá trị tùy chỉnh loại Unmarked hay Marked) rất quen mặt đối với người dùng thao tác ở quy trình bảng review của Acrobat; có mặt kèm hàm truy ngượcGetAnnotStatecùngGetAnnotStateModelđọc lấy luồng số liệu trả lời mọi dòng đánh dấu (hiện về trống khi rỗng hoặc giá trị không tồn tại)
Fixed
- Giải quyết vấn đề khi vừa load gây ngắt việc làm trình ứng dụng build bằng các mã phát triển hệ test gần đây không tự bắt nhịp do một kết nối phân nhánh gọi từ truy xuất tìm danh xưng chứng nhận hệ Windows trỏ tới vị trí DLL đã bị khuyết thiếu, và đồng thời sửa hết toàn bộ các đứt gãy lỗi sinh do thoái trào trên chuỗi quy trình nạp tài nguyên nhập đánh giá FDF comment, tiến trình xoay đảo trang biên tập và chức năng thông đường ở vùng khóa signature điện tử
Version 3.99.0
Đã thêm
- Đã thêm API lấy dấu vân tay tài liệu và đọc chuyển tiếp:
GetDocumentFileIDtrả về định danh tài liệu vĩnh viễn từ mảng/IDở phần trailer (phần tử đầu tiên được mã hóa hex), hữu ích khi làm khóa bộ nhớ cache ổn định hoặc dấu vân tay tài liệu;GetPageTransitionlà phiên bản đọc tương ứng củaSetPageTransition, trả về kiểu chuyển tiếp dưới dạng một giá trịTPDFlibPageTransitioncó kiểu kèm theo thời lượng hiển thị và thời lượng chuyển tiếp bằng cách ánh xạ ngược các mục/Trans/S,/Dmvà/Mđược lưu trữ
Version 3.98.0
Đã thêm
- Đã thêm tính năng xoay theo phạm vi trang và tự kiểm tra hình thu nhỏ (thumbnail):
RotatePageRangeáp dụng độ xoay 0/90/180/270 cho mỗi trang trong một phạm vi (bọc hàmRotatePagetrang đơn hiện có để người gọi không cần vòng lặp qua từng trang);HasPageThumbnailbáo cáo xem một trang có mang mục/Thumbhay không;GetPageThumbnailInfođọc chiều rộng, chiều cao và số bit trên mỗi thành phần của đối tượng hình thu nhỏ XObject
Version 3.97.0
Đã thêm
- Đã thêm bộ đọc thuộc tính chú thích mở rộng:
GetAnnotColorđọc mảng màu/C(0..1 RGB, có một cờ HasColor phân biệt “không có màu rõ ràng” với “màu đen rõ ràng”);GetAnnotBorderWidthđọc/BS /W, với phương án dự phòng là mảng/Bordercũ;GetAnnotOpacityđọc độ mờ nét/CA(mặc định 1.0);GetAnnotCreationDateđọc dấu thời gian/CreationDate;GetAnnotFlagsđọc byte cờ hiển thị/in/F
Version 3.96.0
Đã thêm
- Đã thêm các API tự kiểm tra bảo mật ở phía đọc:
IsEncryptedbáo cáo xem tài liệu đã tải có mang theo từ điển/Encrypthay không;GetEncryptionLeveltrả về mức độ mã hóa có kiểu (0=none, 1=RC4-40, 2=RC4-128, 3=AES-128, 4=AES-256, 5=AES-256 Acrobat X) khớp với các tùy chọn mã hóa ở phía ghi;GetUserPermissionstrả về từ ngữ quyền/Pnguyên gốc để kiểm tra bit trực tiếp;IsOwnerPasswordbáo cáo xem tài liệu có được mở bằng thông tin đăng nhập của chủ sở hữu hay không
Version 3.95.0
Đã thêm
- Đã thêm tính năng in nâng cao và thay thế văn bản:
PrintDocumentAdvancedđiều khiển toàn bộ cấu trúc DEVMODE máy in (in hai mặt, hướng trang, màu sắc, chất lượng in, kích thước giấy, khay giấy) trên cơ sở số bản sao/phân trang thông qua một bản ghiTPDFlibPrintSettingscó kiểu, áp dụng từng trường không mặc định thông qua cơ chế cấu hình máy in tùy chỉnh hiện có;SearchAndReplaceTextchạy tìm kiếm trên một phạm vi trang và, với mỗi kết quả khớp, che khối văn bản gốc bằng một hình chữ nhật màu trắng đục và vẽ lại văn bản thay thế tại điểm gốc của khối bằng phông chữ do người gọi chọn, phản ánh lại hành vi thay thế lớp phủ của PDFtoolkit SearchAndReplace
Version 3.94.0
Đã thêm
- Đã thêm tính năng trao đổi chú thích bằng FDF (tương tự “Export/Import Comments” của Acrobat):
ExportAnnotationsToFDFStringvàExportAnnotationsToFDFduyệt qua/Annotscủa từng trang và tuần tự hóa mỗi chú thích thành mục/Type /Annotbên trong một mảng FDF/Annots, mang theo/Subtype,/Contents,/Rect, nhãn tác giả/T,/Subjvà chỉ mục/Pagetính từ 0;ImportAnnotationsFromFDFStringvàImportAnnotationsFromFDFphân tích cú pháp FDF đó bằng một cỗ máy trạng thái nhỏ và tạo lại từng mục thành một chú thích mới trên trang tương ứng, bảo tồn toàn bộ từ điển chú thích thay vì thu gọn nó thành ghi chú dán
Version 3.93.0
Đã thêm
- Đã thêm các API thuộc tính chứng nhận chữ ký và trường biểu mẫu:
SetSignProcessDocMDPbiến đổi chữ ký tiếp theo do quy trình ký tạo ra thành một chữ ký chứng nhận (của tác giả) bằng cách đính kèm phép biến đổi DocMDP/Referenceở cấp độ 1/2/3 (không thay đổi / điền biểu mẫu / chú thích) và đặt bit AppendOnly của/SigFlagsAcroForm;GetSigFlags/SetSigFlagsđọc và ghi trực tiếp byte/SigFlagsnguyên gốc của AcroForm;GetFormFieldIsComb,GetFormFieldIsMultiLine,GetFormFieldJustificationvàGetFormFieldAllowedValuescung cấp các bit kiểu cách/Ffcủa từng trường, cách căn chỉnh văn bản/Qvà mảng lựa chọn/Optdưới dạng các giá trị có kiểu
Version 3.92.0
Đã thêm
- Đã thêm các API tiện ích để xuất tệp đính kèm và xử lý trường biểu mẫu:
SaveAllAttachmentsduyệt qua danh sách đính kèm thống nhất (/EmbeddedFilescấp tài liệu cộng thêm các chú thích/FileAttachmenttrên mỗi trang) và ghi từng luồng ra một thư mục theo tên tệp cấu hình (file-spec name), xử lý các trường hợp trùng lặp bằng cách thêm hậu tố số;RemoveFormFieldByNamephân giải tên trường đầy đủ thành chỉ mục và xóa nó;RenameFormFieldđổi tên trường theo tên gọi mà không cần tìm kiếm chỉ mục riêng
Version 3.91.0
Đã thêm
- Đã thêm các API liệt kê ở quy mô toàn tài liệu:
EnumDocumentFontsduyệt qua mỗi từ điển phông chữ (gọiFindFontstrước nếu cần) và trả về một đối tượngTPDFlibDocumentFontcho mỗi phông chữ, kèm theo số lượng đối tượng, tên/BaseFont, loại, định dạng mã hóa và trạng thái nhúng/tập con, loại bỏ nhu cầu sử dụngSelectFonttrên mỗi mục và truy vấn thông qua các hàm vô hướng;EnumAttachmentsthống nhất cây tên/EmbeddedFilescấp độ tài liệu với các chú thích/FileAttachmenttrên mỗi trang thành một danh sáchTPDFlibAttachmentduy nhất, qua đó ghi lại nguồn của từng mục, chỉ mục nguồn tính từ 1, tên tệp, kiểu phụ MIME, mô tả và kích thước tính bằng byte
Version 3.90.0
Đã thêm
- Đã thêm các API nội quan chỉ đọc cho chú thích, dấu trang và phiên bản tài liệu:
GetPDFVersiontrả về chuỗi phiên bản PDF đang có hiệu lực (ví dụ:1.7);GetAnnotType,GetAnnotTitle,GetAnnotSubject,GetAnnotContentsEx,GetAnnotModifiedDate,GetAnnotNamevàGetAnnotRectExtrình bày các trường của từng phần chú thích bằng dạng các trình bọc được đặt tên (do đó người gọi không cần đến các số Thẻ thuộc tính ma thuật) dựa trên bộ nhớ cacheAnalyseAnnothiện có;GetOutlineLeveltrả về chiều sâu của phần dấu trang tương đối với gốc chỉ mục vàGetOutlineIsOpenbáo cáo liệu phần dấu trang này có được bung rộng ra trong trình xem hay không (số âm/Countnghĩa là thu gọn), phản ánh trạng thái bố cục mà bảng điều khiển dấu trang sẽ hiển thị
Version 3.89.0
Đã thêm
- Đã thêm một đơn vị bộ mã hóa hình ảnh JBIG2
PDFlibJBIG2Enc(TPLJBIG2Encoder.EncodeToByteArray), được chuyển đổi từ sản phẩm anh em HotPDF, với hai phần nền (backend): trên Win64, bộ mã hóa số học C++jbig2enc(ITU-T T.88) được liên kết tĩnh thông quaPDFlibJBIG2EncC+HPDFCLibs(228 đối tượng leptonica/jbig2enc trongthirdparty/Win64x/) và được đăng ký làm phần nền mặc định, khớp với lộ trình sản xuất của HotPDF; trên các mục tiêu khác, hoặc khiUseExternalEncoderlà False, bộ dự phòng MMR thuần Pascal sẽ nén các dòng quét hai mức (bi-level scanlines) bằng bộ mã hóa CCITT G4 và bọc chúng trong các tiêu đề phân đoạn JBIG2 (thông tin trang loại 48 + vùng chung tức thời loại 38) - Đã thêm một đơn vị bộ mã hóa LZW
PDFlibLZWEnc(TPLLZWEncoder.Compress), đối tác mã hóa cho bộ giải mãPDFlibLZWhiện có: tạo ra một luồng/LZWDecodetheo chuẩn PDF với các mã có độ rộng thay đổi từ 9..12-bit, ngữ nghĩa ClearCode/EOI và EarlyChange mặc định của PDF, cộng với tùy chọn TIFF Predictor 2 (tạo khác biệt theo chiều ngang) để một vòng lặp qua bộ giải mã sẽ tái tạo lại các byte gốc
Version 3.88.0
Đã thêm
- Đã thêm một đơn vị bộ mã hóa hình ảnh hai mức CCITT Group 3 / Group 4 (T.6)
PDFlibCCITTEnc(TPLCCITTEncoder), đối tác mã hóa cho bộ giải mãPDFlibCCITThiện có: nó mã hóa một bitmappf1bitthành một luồng byte CCITT G3 1D / G3 2D / G4 (T.6) thông quaCompressImage/Execute, được chuyển đổi từ sản phẩm anh em HotPDF (cả hai đều dùng chung giấy phép losLab); điều này cung cấp bộ mã hóa còn thiếu để dữ liệu hình ảnh đơn sắc có thể được tạo ra cho đầu raCCITTFaxDecode, cùng với sự tích hợp toàn bộ đường ống hình ảnh (image-pipeline) và đầu ra G4RenderPageToMonochromeFilesẽ tiếp nối sau đó
Version 3.87.0
Đã thêm
- Đã triển khai xác minh chữ ký mật mã cho các chữ ký PKCS#7 tách rời (detached):
TPDFlibSignatureVerifier.VerifySignature(trước đây là một phần mềm giả lập trả vềvsUnknown) hiện tính toán lại hàm băm tài liệu (document digest) trên hai phân đoạn/ByteRangevà xác thực nó với thuộc tínhmessageDigestđã ký và khóa công khai của người ký thông qua Windows CryptoAPI (CryptVerifyDetachedMessageSignature), trả vềvsValid/vsInvalidcho các bộ lọc phụ (subfilters)adbe.pkcs7.detachedvàETSI.CAdES.detached; đây là lớp xác minh đầu tiên và chỉ bao gồm tính toàn vẹn của hàm băm và chữ ký (chuỗi chứng chỉ, thu hồi CRL/OCSP và xác minh mã thông báo dấu thời gian RFC 3161 vẫn nằm ngoài phạm vi và sẽ được thêm vào trong các lớp sau)
Version 3.86.0
Đã thêm
- Đã thêm một hàm gọi lại (callback) trên mỗi dấu trang tại thời điểm hợp nhất: sự kiện
OnMergeOutlinekích hoạt cho mỗi dấu trang gốc ở cấp cao nhất trong khiMergeFileList/MergeFileListFast/MergeFileListStrictliên kết cây dấu trang được hợp nhất, cho phép người gọi đổi tên (Title) hoặc loại bỏ (Skip=True) một dấu trang sắp đến trước khi nó nằm trong tài liệu đích; hàm gọi lại nhận được chỉ mục tài liệu gốc bắt đầu từ 0 để người gọi có thể áp dụng các chính sách cho từng tài liệu
Version 3.85.0
Đã thêm
- Đã thêm tính năng ký từ kho chứng chỉ hệ thống Windows:
SetSignProcessCertFromStorephân giải chứng chỉ ký từ một kho được đặt tên ("MY"/"Root"/...) bằng tên hiển thị đơn giản của Subject (thường là CN, khớp không phân biệt chữ hoa chữ thường; một tên trống sẽ chọn chứng chỉ đầu tiên có khóa riêng tư) và tái sử dụng quy trình ký PKCS#7 hiện có, để một tài liệu có thể được ký mà không cần cung cấp tệp.pfx/.p12; kết hợp nó vớiSetSignProcessKeysetđể chọnCURRENT_USER(1) hoặcLOCAL_MACHINE(2)
Version 3.84.0
Đã thêm
- Đã thêm nhúng chương trình phông chữ cho các tài liệu đã được nạp:
EmbedMissingFontsduyệt qua mọi từ điển Phông chữ, đọc chương trình phông chữ hệ thống đã được cài đặt khớp theo tên BaseFont và ghiFontFile2hoặcFontFile3lại, trả về số lượng phông chữ đã nhận được chương trình;EmbedFontProgramnhúng một phông chữ duy nhất theo tên sử dụng phông chữ hệ thống đã được cài đặt;EmbedFontProgramFromFilenhúng một phông chữ duy nhất sử dụng tệp.ttfhoặc.otfdo người gọi cung cấp cho các phông chữ chưa được cài đặt trên hệ thống - Đã thêm
SetEmbedAllFonts, một bộ bảo vệ ở phía người ghi để nâng cấpAddTrueTypeFontEmbed=0thànhEmbed=1nhằm đảm bảo các tài liệu mới được tạo không vô tình tham chiếu đến các phông chữ hệ thống không được nhúng ngay cả khi ở ngoài chế độ PDF/A
Version 3.83.0
Đã thêm
- Đã thêm API tiện ích kết xuất (rendering):
RenderPageToMonochromeFilekết xuất trang thành bitmap đơn sắc 1-bit (cho các tình huống fax/lưu trữ/OCR), hạ cấp từ 24-bit thông qua phương pháp dither halftone GDI, mà không làm thay đổi lõi kết xuất;RenderPageRegionToFilechỉ kết xuất một vùng hình chữ nhật con được chỉ định của trang (“Left,Top,Width,Height”) thành bitmap, nối lại quy trình ClipRenderPageToDCCliptrước đây bị ngắt
Version 3.82.0
Đã thêm
- Đã thêm xuất dữ liệu biểu mẫu FDF:
ExportFormDataToFDFghi tất cả tên và giá trị trường biểu mẫu của tài liệu hiện tại vào một tệp FDF độc lập (mảng/Fieldsđược bọc bởi%FDF-1.2),ExportFormDataToFDFStringtrả về chuỗi có cấu trúc tương tự, giúp dễ dàng tách và lưu trữ dữ liệu biểu mẫu từ PDF hoặc hợp nhất sau này; các byte không phải ASCII được thoát (escape) theo hệ bát phân ba chữ số chuẩn ISO 32000-1
Version 3.81.0
Đã thêm
- Đã thêm API tiện ích cấu trúc và trang:
SetPageTransitionghi hiệu ứng chuyển tiếp trình bày (17 kiểu chuyển tiếp chuẩn của/Trans, bao gồm Split/Blinds/Wipe/Dissolve/Glitter, v.v.) và thời lượng hiển thị trang cho trang được chỉ định;GetPageFontCount,GetPageFontIDliệt kê các phông chữ được tham chiếu bởi trang được chỉ định;SetMeasurementUnitchấp nhận kiểu liệt kê đơn vị (bổ sung twips và points bên cạnh pixel/mm/inch đã có), đi kèm các hàm trợ giúp chuyển đổi đơn vịConvertToPoints,ConvertFromPoints;SaveToFileOptionstổng hợp các tùy chọn lưu như nén, tuyến tính hóa và giữ nguyên ngày sửa đổi trong một bản ghi (record)