Tiểu mục của Có gì mới
v26.9
- Việc triển khai trước đây của các plugin đang được loại bỏ dần. Chức năng của lớp này đã được thay thế bằng lớp PdfForm.
- Lớp FormFlattener: đã loại bỏ, sử dụng PdfForm.
Ví dụ sử dụng:
Ví dụ minh họa cách làm phẳng (Flatten) các trường trong tệp PDF.
// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Flatten(options);
Ví dụ sử dụng:
Ví dụ minh họa cách làm phẳng (Flatten) các trường trong tệp PDF và bỏ qua trường đầu tiên.
// Get Fields Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Skip 1 field.
options.SkipFields.Add(fieldNames[0]);
// Perform the process
PdfForm.Flatten(options);
Lớp GetFieldNamesOptions đã được thiết kế lại
- Kế thừa từ lớp OptionsWithInput.
- Đã thêm thuộc tính Input.
Ví dụ sử dụng:
Ví dụ minh họa cách lấy tên trường từ tệp PDF.
// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
Ví dụ sử dụng:
Ví dụ minh họa cách lấy tên trường từ luồng PDF.
// Prepare input stream
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions(inputStream));
Các sửa lỗi khác
📄 PDF to DOC
- Sửa lỗi chuyển PDF sang DOC gây ra OutOfMemoryException
- Sửa lỗi chuyển PDF sang HTML hiển thị logo chân trang bị hỏng
🖼️ PDF to JPEG
- Sửa lỗi chuyển PDF sang JPEG gây ra OutOfMemoryException
- Sửa lỗi chuyển PDF sang PNG gây ra InvalidOperationException
- Sửa lỗi đầu ra PDF sang TIFF thiếu thông tin
📑 PDF to PDF/A
- Sửa lỗi đầu ra PDF sang PDF/A không hợp lệ đối với PDF/A-1b hoặc PDF/A-3b
- Sửa lỗi chuyển PDF/A-2b gây ra InvalidCastException
v26.8
Lớp SignOptions đã được thiết kế lại
- Giờ đây việc sử dụng dễ dàng hơn.
- Kế thừa từ lớp OptionsWithInputAndOutput.
- Thuộc tính Inputs và Outputs được đổi thành Input và Output. Hiện chỉ có 1 input và 1 output.
- Nếu output là một tệp, luồng của nó sẽ tự động được đóng; nếu là một Stream, nó sẽ vẫn mở để sử dụng tiếp.
- Loại bỏ các phương pháp AddInput, AddOutput.
- Thêm một số hàm khởi tạo thuận tiện hơn:
- SignOptions(IData inputData, IData outputData, IData pfxData, string password)
- SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
- SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
- Thêm các thuộc tính có thể sửa đổi:
- Stream Pfx
- string PfxPassword
- IData Input
- IData Output
Ví dụ sử dụng:
Ví dụ về cách làm việc với SignOptions.
using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");
// Set input and output file paths
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");
Ví dụ sử dụng:
Ví dụ minh họa cách ký một tệp PDF theo cách ngắn gọn nhất.
PdfSecurity.Sign(new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file"));
Ví dụ sử dụng:
Ví dụ minh họa cách ký một tài liệu PDF bằng các stream.
// Prepare streams
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();
// Create SignOptions object to set instructions
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");
// Perform the process
PdfSecurity.Sign(options);
Đã loại bỏ lớp Signature
- Việc triển khai plugin trước đây đang dần được ngừng. Chức năng của lớp này đã được thay thế bằng lớp PdfSecurity.
- Class Signature: đã loại bỏ, sử dụng PdfSecurity.
Ví dụ sử dụng:
Ví dụ minh họa cách ký một tài liệu PDF.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Perform the process
PdfSecurity.Sign(options);
- Việc triển khai plugin trước đây đang dần được ngừng. Chức năng của lớp này đã được thay thế bằng các lớp PdfExtractor và PdfForm.
- Class FormExporter: đã loại bỏ, sử dụng PdfExtractor hoặc PdfForm.
Ví dụ sử dụng:
Ví dụ minh họa cách xuất giá trị Form ra tệp CSV bằng PdfExtractor..
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.csv"));
// Perform the process
PdfExtractor.Extract(options);
Ví dụ sử dụng:
Ví dụ minh họa cách xuất giá trị Form ra tệp TSV và thiết lập các thuộc tính bằng PdfForm.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();
//Set Delimiter
options.Delimiter = '\t';
//Add Field Names to result
options.AddFieldName = true;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Perform the process
PdfForm.Extract(options);
Cải tiến lớp FileData
- Ghi đè phương thức ToString().
Các sửa lỗi khác
📄 PDF sang DOC
- Sửa lỗi chuyển đổi PDF sang DOC tốn thời gian quá mức
🌐 PDF sang HTML / HTML sang PDF
- Sửa lỗi chuyển đổi PDF sang HTML tạo ra hình ảnh trong suốt
- Sửa lỗi chuyển đổi HTML sang PDF khi nội dung chồng lên nhau
- Sửa lỗi chuyển đổi HTML sang PDF khi chiều rộng bảng bị bỏ qua
🖼️ PDF sang PNG/TIFF
- Sửa lỗi chuyển đổi PDF sang PNG tiêu tốn bộ nhớ quá mức
- Sửa lỗi chuyển đổi PDF sang PNG không giữ nguyên phông chữ nhúng
- Sửa lỗi chuyển đổi PDF sang TIFF ném ngoại lệ
📑 PDF sang PDF/A
- Sửa lỗi chuyển đổi PDF sang PDF/A mất màu sắc tài liệu
- Sửa lỗi chuyển đổi PDF sang PDF/A gây chồng chữ trong kết quả
- Sửa lỗi phương thức Validate() của PDF/A trả về kết quả không chính xác
- Sửa lỗi xác thực PDF/A tạo ra kết quả không chính xác
📂 Các thao tác khác
- Sửa lỗi System.FormatException bị ném khi xác thực chữ ký PDF
- Sửa lỗi khi gộp tài liệu ném ngoại lệ
v26.7
- Việc triển khai plugin trước đây đang dần được loại bỏ. Chức năng của lớp này đã được thay thế bằng Lớp PdfExtractor.
- Lớp ImageExtractor: đã xóa, hãy sử dụng PdfExtractor.
Ví dụ sử dụng:
Ví dụ minh họa cách Trích xuất Hình ảnh từ tài liệu PDF.
// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Đã xóa Lớp Timestamp
- Chức năng của lớp này đã được thay thế bằng Lớp PdfSecurity.
- Lớp Timestamp: đã xóa, hãy sử dụng PdfSecurity.
- Lớp AddTimestampOptions: đã xóa, hãy sử dụng SignOptions và TimestampOptions.
Ví dụ sử dụng:
Ví dụ minh họa cách Ký tài liệu PDF với Timestamp.
// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);
Các sửa lỗi khác
🖥️ HTML to PDF
- Đã sửa lỗi chuyển đổi HTML sang PDF gây ra việc đặt vị trí hình ảnh và ghi đè văn bản.
- Đã sửa lỗi chuyển đổi HTML sang PDF khi nội dung trang không vừa đúng cách.
- Đã sửa lỗi chuyển đổi HTML sang PDF khiến PDF tạo ra hiển thị dải đen.
📑 PDF to PDF/A
- Đã sửa lỗi API chuyển PDF sang PDF/A ném ngoại lệ.
- Đã sửa lỗi chuyển PDF sang PDF/A tạo ra đầu ra với định dạng không đúng.
- Đã sửa lỗi bộ nhớ khi chuyển PDF sang PDF/A.
- Đã sửa lỗi chuyển PDF sang PDF/A-3a.
⚙️ Còn lại
- Đã sửa lỗi thiếu nội dung văn bản khi chuyển PDF sang PNG và HTML.
- Đã sửa lỗi một số trường bị để trống sau khi flatten.
- Đã sửa lỗi tài liệu PDF hiển thị lỗi sau khi flatten.
- Đã sửa lỗi việc tối ưu PDF làm gián đoạn định dạng nội dung.
v26.6
PdfSecurity: Thêm khả năng ký PDF với Dấu thời gian mà không cần PFX
- Giờ đây bạn có thể thêm dấu thời gian vào tài liệu PDF mà không cần chỉ định tệp PFX và mật khẩu.
- Class SignOptions: có constructor nhận Class TimestampOptions.
Ví dụ sử dụng:
Ví dụ minh họa cách ký tài liệu PDF với Dấu thời gian.
// Tạo đối tượng SignOptions để thiết lập Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// Thêm đường dẫn file đầu vào
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn file đầu ra
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Thực thi quá trình
PdfSecurity.Sign(options);
- Việc triển khai plugin trước đây đang dần được ngừng sử dụng. Chức năng của lớp này đã được thay thế bằng Class PdfExtractor.
- Class TextExtractor: đã bị xóa, dùng PdfExtractor.
Thêm thông tin và gợi ý cho các thực thể mới
- Thêm chú thích XML cho OptionsWithInputAndOutput và SanitizeOptions.
- Thêm thông tin về giá trị mặc định trong SanitizeOptions.
Thêm thông tin về Sanitize vào Tài liệu và Sản phẩm.
Sửa lỗi Ngoại lệ khi chuyển đổi HTML sang PDF
Các sửa lỗi khác
📄 General / System
- Sửa lỗi gộp các tài liệu PDF bị hỏng
- Sửa lỗi xử lý các tệp bị hỏng
- Sửa lỗi System.StackOverflowException khi mở file PDF
- Sửa lỗi Trích xuất Văn bản bị treo trên một số file PDF nhất định
🌐 HTML → PDF
- Sửa lỗi chuyển HTML sang PDF: ký tự Trung Quốc hiển thị không đúng
📑 PDF → DOC
- Sửa lỗi PDF sang DOC: chú thích Highlight vẫn che mắt văn bản
- Sửa lỗi PDF sang DOC: hình ảnh hiển thị không đúng
- Sửa lỗi hiệu năng chuyển đổi PDF sang DOC
📊 PDF → Excel
- Sửa lỗi PDF sang Excel: hình ảnh bảng bị bỏ qua
🖼️ PDF → PNG
- Sửa lỗi PDF sang PNG: quá trình chuyển đổi mất thời gian quá mức
🛡️ PDF → PDF/A
- Sửa lỗi mất chuẩn PDF A-1A và hỏng form sau khi lưu
- Sửa lỗi thời gian chuyển đổi PDF sang PDFA
- Sửa lỗi mất độ trong suốt bán phần trong quá trình chuyển đổi PDF sang PDFA
- Sửa lỗi chồng lấn văn bản trong PDF sang PDFA
- Sửa lỗi hiển thị văn bản trong PDF sang PDFA
- Sửa lỗi hỏng tài liệu khi chuyển PDF sang PDFA3b.
v26.5
Tính năng mới: Sanitize cho bảo mật PDF
- Loại bỏ dữ liệu ẩn khỏi tài liệu PDF, đảm bảo rằng các thông tin nhạy cảm hoặc không cần thiết như metadata, tệp đính kèm, chú thích, JavaScript, biểu mẫu, lớp, chỉ mục tìm kiếm, hoặc nội dung riêng tư được xóa hoặc chuyển đổi.
- Class PdfSecurity: thêm phương thức Sanitize để thực hiện việc làm sạch tài liệu PDF.
- Class SanitizeOptions: Đại diện cho các tùy chọn cấu hình để làm sạch dữ liệu ẩn trong tài liệu cho lớp PdfSecurity.
- Property Input: Lấy hoặc thiết lập dữ liệu đầu vào.
- Property Output: Lấy hoặc thiết lập dữ liệu đầu ra.
- Property ConvertPagesToImages: Lấy hoặc thiết lập tùy chọn chuyển các trang thành hình ảnh.
- Property ImageDpi: Lấy hoặc thiết lập tùy chọn độ phân giải hình ảnh khi chuyển trang sang hình ảnh.
- Property RemoveAnnotations: Lấy hoặc thiết lập giá trị cho biết có nên xóa chú thích khỏi tài liệu hay không.
- Property RemoveSearchIndexAndPrivateInfo: Lấy hoặc thiết lập giá trị cho biết có nên xóa chỉ mục tìm kiếm và thông tin riêng tư khỏi tài liệu hay không.
- Property FlattenForms: Lấy hoặc thiết lập giá trị cho biết các biểu mẫu trong tài liệu có nên được làm phẳng trong quá trình làm sạch hay không.
- Property FlattenLayers: Lấy hoặc thiết lập tùy chọn làm phẳng các lớp trong tài liệu PDF.
- Property RemoveJavaScriptsAndActions: Lấy hoặc thiết lập giá trị cho biết có nên xóa JavaScript và các hành động liên quan khỏi tài liệu hay không.
- Property RemoveMetadata: Lấy hoặc thiết lập tùy chọn xóa metadata khỏi tài liệu.
- Property RemoveAttachments: Lấy hoặc thiết lập tùy chọn xóa tất cả các tệp đính kèm khỏi tài liệu.
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize tài liệu PDF.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF từ stream sang stream.
// Prepare input and output streams
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input and output streams
var options = new SanitizeOptions(inputStream, outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF từ file sang stream.
// Prepare output stream
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input file and output stream
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF từ file sang stream với việc thiết lập thủ công các thuộc tính input và output.
// Create SanitizeOptions object
var options = new SanitizeOptions();
//Set Input file
options.Input = new FileData("path_to_your_pdf_file.pdf");
//Set Output file
options.Output = new FileData("path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF mà không xóa Metadata.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveMetadata = false;
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF mà không xóa Attachments.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveAttachments = false;
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF với việc chuyển tất cả các trang thành hình ảnh và đặt DPI cho kết quả.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Turn on conversion and set dpi
options.ConvertPagesToImages = true;
options.ImageDpi = 200;
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize PDF mà không xóa JavaScripts và Actions.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveJavaScriptsAndActions = false;
// Perform the process
PdfSecurity.Sanitize(options);
Ví dụ Sử dụng:
Ví dụ minh họa cách Sanitize tệp PDF theo phong cách ngắn gọn nhất có thể.
PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));
- Đại diện cho các tùy chọn cơ bản cho các thao tác có 1 dữ liệu Đầu vào và 1 dữ liệu Đầu ra.
- Dựa trên OptionsWithInput.
- Property Input: Lấy hoặc thiết lập dữ liệu Đầu vào.
- Property Output: Lấy hoặc thiết lập dữ liệu Đầu ra.
Cải thiện hiệu suất chuyển PDF sang JPEG
Cập nhật trang sản phẩm “FAQs” cho trang này
https://docs.documentize.com/faqs/
Các sửa lỗi khác
- Sửa lỗi tốc độ chuyển đổi HTML lớn sang PDF
- Sửa lỗi PDF sang HTML: xảy ra OutOfMemoryException
- Sửa lỗi PDF sang PDFA: nội dung trang bị cắt
- Sửa lỗi PDF sang PDFA: vấn đề hiển thị hình ảnh trong suốt
- Sửa lỗi PDF sang PDFA2b: mất chú thích trong đầu ra
- Sửa lỗi PDF sang PDF/A - Hình ảnh xuất hiện ngược trong tệp đầu ra
- Sửa lỗi PDF sang PDF/A - Tệp kết quả không đáp ứng tiêu chuẩn PDF/A_2a
- Sửa lỗi PDF sang PDF/A - Tệp kết quả không đáp ứng tiêu chuẩn
- Sửa lỗi PDF sang PDF/A - Chữ ký trở nên đen sau khi chuyển đổi
- Sửa lỗi PDF sang PDF/A - Canh lề văn bản thay đổi bất ngờ
- Sửa lỗi PDF sang PNG - Quá trình chuyển đổi mất thời gian quá mức
- Sửa lỗi PDF sang PNG - Hình ảnh đầu ra không chính xác
- Sửa lỗi PDF sang PNG - Hình ảnh đầu ra xuất hiện các dải màu tối
- Sửa lỗi Không thể xác thực sự tuân thủ PDF/A_1b của tài liệu
v26.4
- Method PdfExtractor.Extract: không ném ngoại lệ nếu không tìm thấy ngày Created và Modified trong tài liệu đầu vào.
- Property PdfProperties.Created: trả về
null nếu không tìm thấy giá trị trong tài liệu đầu vào. Kiểu dữ liệu được thay đổi từ DateTime thành DateTime?. - Property PdfProperties.Modified: trả về
null nếu không tìm thấy giá trị trong tài liệu đầu vào. Kiểu dữ liệu được thay đổi từ DateTime thành DateTime?.
Ví dụ sử dụng:
Ví dụ này minh họa cách trích xuất các thuộc tính Created và Modified
// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
Cải thiện hiệu suất render PDF sang TIFF
Tạo trang sản phẩm cho "PDF Converter" cho trang web này
https://products.documentize.com/pdf-converter/
Các sửa lỗi khác
- Sửa lỗi HTML sang PDF – Hiệu suất rất chậm khi xử lý văn bản HTML lớn
- Sửa lỗi HTML sang PDF – Header và footer không hiển thị trên các trang tiếp theo
- Sửa lỗi HTML sang PDF – Tooltip không hiển thị đúng
- Sửa lỗi PDF sang DOC – Quá trình chuyển đổi gây ra ngoại lệ OutOfMemory
- Sửa lỗi PDF sang XLS – Các cột được gộp lại thành một cột duy nhất
- Sửa lỗi PDF sang HTML – Hình nền bị thiếu
- Sửa lỗi PDF sang HTML – Liên kết nội bộ không hiển thị
- Sửa lỗi PDF sang JPEG – Hình ảnh đầu ra xuất hiện màu đen
- Sửa lỗi PDF sang PDF/A – Có vấn đề định dạng trong tệp kết quả
- Sửa lỗi PDF sang PDF/A_1b – Tệp kết quả không tuân thủ tiêu chuẩn
- Sửa lỗi PDF sang PDF/A_3b – Vấn đề định dạng văn bản trong tệp đầu ra
- Sửa lỗi PDF sang PDF/A-2B – Quá trình chuyển đổi loại bỏ ký tự toán học khi sử dụng phông OpenType MATH.
v26.3
Đổi tên IDataSource thành IData
- Interface IDataSource: được đổi tên thành IData.
- Các lớp tùy chọn hiện dễ sử dụng hơn.
Đổi tên FileDataSource thành FileData
- Class FileDataSource: được đổi tên thành FileData.
- Các lớp tùy chọn hiện dễ sử dụng hơn.
- Đã cập nhật và sửa các chú thích XML.
- Tất cả các ví dụ với Input và Output đã được cập nhật.
Ví dụ sử dụng:
Ví dụ dưới đây minh họa cách sử dụng FileData trong Input và Output.
// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Encrypt(options);
Đổi tên StreamDataSource thành StreamData
- Class StreamDataSource: được đổi tên thành StreamData.
- Các lớp tùy chọn hiện dễ sử dụng hơn.
- Đã cập nhật và sửa các chú thích XML.
- Tất cả các ví dụ với Input và Output đã được cập nhật.
Ví dụ sử dụng:
Ví dụ dưới đây minh họa cách sử dụng StreamData trong Output.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output stream
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);
Đổi tên DirectoryDataSource thành DirectoryData
- Class DirectoryDataSource: được đổi tên thành DirectoryData.
- Các lớp tùy chọn hiện dễ sử dụng hơn.
- Tất cả các ví dụ với Input và Output đã được cập nhật.
Ví dụ sử dụng:
Ví dụ dưới đây minh họa cách Export giá trị Form ra tệp TSV và thiết lập các thuộc tính.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Một lỗi chính tả trong từ đã được sửa.
Ví dụ sử dụng:
Ví dụ dưới đây minh họa cách Export giá trị Form ra tệp TSV và thiết lập các thuộc tính.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();
//Set Delimiter
options.Delimiter = '\t';
//Add Field Names to result
options.AddFieldName = true;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Perform the process
PdfExtractor.Extract(options);
Đã tạo trang sản phẩm cho “PDF Manager” cho trang này
https://products.documentize.com/pdf-manager/
https://products.documentize.com/pdf-form/
Sửa lỗi
- Sửa lỗi khi chuyển Image sang PDF gây ra ngoại lệ Out of Memory.
- Sửa lỗi khi tạo Table of Contents cho ra kết quả không chính xác.
- Sửa lỗi thuộc tính OptimizeResources UnembedFonts gây ra ngoại lệ.
- Sửa lỗi khi chuyển PDF sang HTML không áp dụng đúng phông chữ khi xem bằng Internet Explorer.
- Sửa lỗi khi chuyển PDF sang HTML tạo ra các phần tử và ký hiệu định dạng bị đặt sai vị trí.
- Sửa lỗi khi quá trình chuyển PDF sang PDF/A bị treo.
- Sửa lỗi khi chuyển PDF sang PDF/A xóa bỏ các trường biểu mẫu và giá trị của chúng.
- Sửa lỗi khi đầu ra PDF sang PDF/A không tuân thủ chuẩn PDF/A_1a.
- Sửa lỗi khi đầu ra PDF sang PDF/A không tuân thủ chuẩn PDF/A_2b.
- Sửa lỗi khi đầu ra PDF sang PDF/A-3A không vượt qua kiểm tra Preflight compliance.
- Sửa lỗi khi đầu ra PDF sang PDF/A-3B không vượt qua kiểm tra Preflight compliance.
v26.2
- Class Extractor: có thể trích xuất siêu dữ liệu mới từ tài liệu PDF.
- Class PdfProperties: đã thêm các thuộc tính: FileName, Created, Modified, Application, PdfProducer.
Ví dụ sử dụng:
Ví dụ này trình bày cách Trích xuất Thuộc tính (FileName, Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) từ tệp PDF.
// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var filename = pdfProperties.FileName;
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;
Ví dụ sử dụng:
Ví dụ này trình bày cách Trích xuất Thuộc tính (Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) từ luồng PDF.
// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;
- Việc làm việc với việc trích xuất văn bản và các tham số trích xuất giờ dễ dàng hơn: bạn có thể chỉ định dữ liệu đầu vào và nhận kết quả dễ dàng hơn trước.
- Class ExtractTextOptions: thực hiện IHaveInput. Chỉ sử dụng 1 dữ liệu đầu vào. Các kiểu dữ liệu cho phép: File và Stream.
- Method Extract(ExtractTextOptions options): trả về chuỗi kết quả.
- Object ResultContainer: đã được loại bỏ khỏi ExtractTextOptions.
Ví dụ sử dụng:
Ví dụ này trình bày cách Trích xuất nội dung Văn bản từ tệp PDF.
// Create ExtractTextOptions object to set input file path
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf");
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);
Ví dụ sử dụng:
Ví dụ này trình bày cách Trích xuất nội dung Văn bản từ luồng PDF.
// Create ExtractTextOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractTextOptions(stream);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);
Ví dụ sử dụng:
Ví dụ này trình bày cách Trích xuất nội dung Văn bản của tài liệu PDF với TextFormattingMode.
// Create ExtractTextOptions object to set input file path and TextFormattingMode
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);
Ví dụ sử dụng:
Ví dụ này trình bày cách Trích xuất Văn bản từ tệp PDF theo phong cách ngắn gọn nhất có thể.
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure));
Sửa lỗi
- Chuyển đổi tệp Jpeg2000 sang PDF thất bại
- Vấn đề nối các tệp PDF
- Thay đổi kích thước trang PDF tạo ra đầu ra trắng
- PDF sang HTML: Màu nền được đánh dấu hiển thị nhưng văn bản thiếu
- PDF sang HTML: Tạo ra HTML không đúng
- PDF sang HTML: Văn bản dọc bên trái bị thiếu
- PDF sang HTML: Văn bản trong tiêu đề biến mất
- PDF sang HTML: Văn bản chú thích trong suốt không hiển thị
- PDF sang PNG: Một số ký tự Trung Quốc không hiển thị được
v26.1
- Trích xuất Thuộc tính PDF: Tiêu đề, Tác giả, Chủ đề, Từ khóa, Số trang.
- Class PdfExtractor: thêm phương thức
Extract để trích xuất Thuộc tính PDF. - Class ExtractPropertiesOptions: Đại diện cho các tùy chọn Trích xuất Thuộc tính PDF cho plugin PdfExtractor.
- Class PdfProperties: Đại diện cho các Thuộc tính và thông tin meta của tài liệu PDF.
- Interface IHaveInput: Được sử dụng cho các Tùy chọn có dữ liệu đầu vào duy nhất.
- Class OptionsWithInput: Được sử dụng cho các Tùy chọn có dữ liệu đầu vào duy nhất.
- Hoàn toàn miễn phí và có chức năng.
Ví dụ sử dụng:
Ví dụ minh họa cách Trích xuất Thuộc tính (Tiêu đề, Tác giả, Chủ đề, Từ khóa, Số trang) từ tệp PDF.
// Tạo đối tượng ExtractPropertiesOptions để đặt tệp đầu vào
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Thực hiện quá trình và lấy Thuộc tính
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;
Ví dụ sử dụng:
Ví dụ minh họa cách Trích xuất Thuộc tính (Tiêu đề, Tác giả, Chủ đề, Từ khóa, Số trang) từ luồng PDF.
// Tạo đối tượng ExtractPropertiesOptions để đặt luồng đầu vào
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Thực hiện quá trình và lấy Thuộc tính
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;
Ví dụ sử dụng:
Ví dụ minh họa cách Trích xuất Thuộc tính từ tệp PDF theo phong cách ngắn gọn nhất có thể.
// Thực hiện quá trình và lấy Thuộc tính
var pdfProperties = PdfExtractor.Extract(new ExtractPropertiesOptions("path_to_your_pdf_file.pdf"));
Cải tiến
- Cải tiến chuyển HTML sang PDF hỗ trợ văn bản thay thế cho hình ảnh
- Đảm bảo PDF sang PDFA1b
Sửa lỗi
- Lỗi xảy ra khi cố gắng tối ưu tệp PDF
- Vấn đề căn chỉnh dọc của Trường Form
- Sửa lỗi hiển thị văn bản tiếng Nhật trong FormField
- Lỗi định dạng bảng khi chuyển HTML sang PDF
- Tối ưu kích thước PDF trước khi chuyển sang PDF/A gây ra đầu ra bị hỏng
- PDF sang DOC – Bảng hiển thị không đúng
- PDF sang Excel – Vấn đề định dạng tệp đầu ra
- PDF sang HTML – ArgumentException xảy ra trong quá trình chuyển đổi
- Chuyển đổi PDF sang HTML thiếu một số liên kết
- Văn bản bị mất khi chuyển PDF sang HTML
v25.12
- Class PdfForm: chứa tất cả các hàm của plugin: FormFlattener, FormExporter. Ngoài ra còn cho phép xóa và lấy các trường.
- Class FormFlattener: sẽ sớm bị xóa, hãy sử dụng PdfForm.
- Class FormFlattenerOptions: được đổi tên thành Class FlattenFieldsOptions.
- Class GetFieldNamesOptions: cho phép thiết lập tùy chọn khi lấy tên các trường.
- Class RemoveFieldsOptions: cho phép thiết lập tùy chọn khi xóa các trường.
- Xem The New Plugin Architecture.
Ví dụ sử dụng:
Ví dụ minh họa cách làm phẳng (Flatten) các trường trong tệp PDF.
// Tạo đối tượng FlattenFieldsOptions để đặt hướng dẫn
var options = new FlattenFieldsOptions();
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn tệp đầu ra
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Thực hiện quá trình
PdfForm.Flatten(options);
Ví dụ sử dụng:
Ví dụ minh họa cách lấy tên các trường từ tệp PDF.
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
Ví dụ sử dụng:
Ví dụ minh họa cách xuất giá trị Form ra tệp CSV.
// Tạo đối tượng ExtractFormDataToDsvOptions để đặt hướng dẫn
var options = new ExtractFormDataToDsvOptions(',', true);
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn tệp đầu ra
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Thực hiện quá trình
PdfForm.Extract(options);
Ví dụ sử dụng:
Ví dụ minh họa cách xóa các trường khỏi tệp PDF.
// Tạo đối tượng RemoveFieldsOptions để đặt hướng dẫn
var options = new RemoveFieldsOptions();
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn tệp đầu ra
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Thực hiện quá trình
PdfForm.Remove(options);
- Method ExtractText: được đổi tên thành Method Extract.
- Method ExtractImages: được đổi tên thành Method Extract.
- Method ExtractFormData: được đổi tên thành Method Extract.
Ví dụ sử dụng:
Ví dụ minh họa cách trích xuất nội dung văn bản của tài liệu PDF.
// Tạo đối tượng ExtractTextOptions để đặt hướng dẫn
var options = new ExtractTextOptions();
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Thực hiện quá trình
var results = PdfExtractor.Extract(options);
// Lấy văn bản đã trích xuất từ đối tượng ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Ví dụ sử dụng:
Ví dụ minh họa cách trích xuất hình ảnh từ tài liệu PDF.
// Tạo đối tượng ExtractImagesOptions để đặt hướng dẫn
var options = new ExtractImagesOptions();
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn thư mục đầu ra
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Thực hiện quá trình
var results = PdfExtractor.Extract(options);
// Lấy đường dẫn tới kết quả hình ảnh
var imageExtracted = results.ResultCollection[0].ToFile();
Ví dụ sử dụng:
Ví dụ minh họa cách xuất giá trị Form ra tệp CSV.
// Tạo đối tượng ExtractFormDataToDsvOptions để đặt hướng dẫn
var options = new ExtractFormDataToDsvOptions(',', true);
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn tệp đầu ra
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Thực hiện quá trình
PdfExtractor.Extract(options);
Cải tiến
- Class PdfConverterOptions, PdfToXlsOptions - sử dụng Class PluginBaseOptions
- Chuyển đổi PDF/A-1b
- Chuyển đổi PDF/A-2b
Sửa lỗi
- Đã khắc phục các vấn đề định dạng khi chuyển đổi HTML sang PDF
- Khi chuyển đổi PDF sang HTML, một số liên kết bị mất
v25.11
Plugin mới PDF Converter
- Class PdfConverter: chứa toàn bộ các chức năng của các plugin: DocConverter, XlsConverter, HtmlConverter, JpegConverter, PdfAConverter, PngConverter, TiffConverter.
- Class DocConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class XlsConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class HtmlConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class JpegConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class PdfAConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class PngConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class TiffConverter: sẽ sớm bị xóa, hãy sử dụng PdfConverter.
- Class PdfAConvertOptions: được đổi tên thành Class PdfToPdfAOptions.
- Xem The New Plugin Architecture.
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng Doc.
// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi PDF sang tài liệu XLSX.
// Create PdfToXlsOptions object to set instructions
var options = new PdfToXlsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi PDF sang tài liệu HTML.
// Create PdfToHtmlOptions object to set output data type as file with embedded resources
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.html"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi HTML sang tài liệu PDF.
// Create HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_input.html"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng JPEG.
// Create PdfToJpegOptions object to set instructions
var options = new PdfToJpegOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng PNG.
// Create PdfToPngOptions object to set instructions
var options = new PdfToPngOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng TIFF.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng PDF/A (trong ví dụ này là PDF/A-3b):
// Create the options class to set up the conversion process
var options = new PdfToPdfAOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Add the source file
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // replace with your actual file path
// Add the path to save the converted file
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Run the conversion
PdfConverter.Convert(options);
Ví dụ sử dụng:
Ví dụ minh họa cách xác minh tài liệu PDF tuân thủ định dạng PDF/A (trong ví dụ này là PDF/A-1a):
// Create the options class to set up the validation process
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Add one or more files to be validated
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // replace with your actual file path
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// add more files as needed
// Run the validation and get results
var resultContainer = PdfConverter.Validate(options);
// Check the resultContainer.ResultCollection property for validation results for each file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult)result.Data;
var isValid = validationResult.IsValid; // Validation result for the i-th document
}
Plugin mới PDF Security
- Class PdfSecurity: chứa toàn bộ các chức năng của các plugin: Security, Signature, Timestamp.
- Class Security: sẽ sớm bị xóa, hãy sử dụng PdfSecurity.
- Class Signature: sẽ sớm bị xóa, hãy sử dụng PdfSecurity.
- Class Timestamp: sẽ sớm bị xóa, hãy sử dụng PdfSecurity.
- Class DecryptionOptions: được đổi tên thành Class DecryptOptions.
- Class EncryptionOptions: được đổi tên thành Class EncryptOptions.
- Class SignOptions: hiện có các thuộc tính cho Class Timestamp.
- Xem The New Plugin Architecture.
Ví dụ sử dụng:
Ví dụ minh họa cách Mã hoá tài liệu PDF.
// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Encrypt(options);
Ví dụ sử dụng:
Ví dụ minh họa cách Giải mã tài liệu PDF.
// Create DecryptOptions object to set instructions
var options = new DecryptOptions("123456");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Decrypt(options);
Ví dụ sử dụng:
Ví dụ minh họa cách Ký tài liệu PDF.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);
Ví dụ sử dụng:
Ví dụ minh họa cách Ký tài liệu PDF kèm Timestamp.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);
Plugin PdfChatGpt tích hợp vào PdfManager
- Class PdfChatGpt: sẽ sớm bị xóa, hãy sử dụng PdfManager.
- Class PdfChatGptRequestOptions: được đổi tên thành Class ChatGptRequestOptions.
Các tùy chọn mới cho việc làm việc với ChatGpt
- Class ChatCompletion: cho phép kiểm tra kết quả của yêu cầu.
- Class Choice: cho phép kiểm tra kết quả của yêu cầu.
- Class Usage: cho phép kiểm tra kết quả của yêu cầu.
- Class ChatGptConsts: cho phép sử dụng các cài đặt bổ sung như ModelName, API URL và các thứ khác.
Ví dụ sử dụng:
Ví dụ minh họa cách sử dụng ChatGpt bằng cách thêm tin nhắn vào yêu cầu.
var options = new ChatGptRequestOptions();
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// Add the request messages.
options.Messages.Add(new Message
{
Content = "You are a helpful assistant.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What is the biggest pizza diameter ever made?",
Role = Role.User
});
// Process the request.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.
Cải tiến
- PDF to Image – Cải thiện hiệu năng chuyển đổi
- PDF to TIFF – Tăng tốc độ chuyển đổi
- PDF to Doc – Cải thiện hiệu năng
Lỗi đã sửa
- Sửa lỗi HTML to PDF – Các vấn đề định dạng trong file kết quả
- Sửa lỗi hiệu năng trong chuyển đổi PDF to TIFF
- Sửa lỗi HTML to PDF – Tệp CSS được khai báo là External Resource không áp dụng cho file PDF được tạo.
v25.10
- Class PdfExtractor: chứa tất cả các hàm của các plugin: TextExtractor, ImageExtractor, FormExporter.
- Class TextExtractor: sẽ sớm bị xóa, hãy sử dụng PdfExtractor.
- Class ImageExtractor: sẽ sớm bị xóa, hãy sử dụng PdfExtractor.
- Class FormExporter: sẽ sớm bị xóa, hãy sử dụng PdfExtractor.
- Class TextExtractorOptions: đổi tên thành Class ExtractTextOptions.
- Class ImageExtractorOptions: đổi tên thành Class ExtractImagesOptions.
- Class FormExportToDsvOptions: đổi tên thành Class ExtractFormDataToDsvOptions.
- Xem The New Plugin Architecture.
Ví dụ sử dụng:
Ví dụ minh họa cách trích xuất nội dung văn bản từ tài liệu PDF.
// Create ExtractTextOptions object to set instructions
var options = new ExtractTextOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Ví dụ sử dụng:
Ví dụ minh họa cách trích xuất nội dung văn bản từ tài liệu PDF với TextFormattingMode.
// Create ExtractTextOptions object to set TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Ví dụ sử dụng:
Ví dụ minh họa cách trích xuất hình ảnh từ tài liệu PDF.
// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.ExtractImages(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Ví dụ sử dụng:
Ví dụ minh họa cách xuất giá trị Form ra file CSV.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfExtractor.ExtractFormData(options);
Plugin mới PDF Manager
- Class PdfManager: chứa tất cả các hàm của các plugin: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Class Merger: sẽ sớm bị xóa.
- Class Optimizer: sẽ sớm bị xóa, hãy sử dụng PdfManager.
- Class Splitter: sẽ sớm bị xóa, hãy sử dụng PdfManager.
- Class TableGenerator: sẽ sớm bị xóa, hãy sử dụng PdfManager.
- Class TocGenerator: sẽ sớm bị xóa, hãy sử dụng PdfManager.
- Xem The New Plugin Architecture.
Ví dụ sử dụng:
Ví dụ minh họa cách hợp nhất (Merge) hai tài liệu PDF.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Merge(options);
Ví dụ sử dụng:
Ví dụ minh họa cách tách (Split) tài liệu PDF.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
PdfManager.Split(options);
Ví dụ sử dụng:
Ví dụ minh họa cách tối ưu (Optimize) tài liệu PDF.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Optimize(options);
Ví dụ sử dụng:
Ví dụ minh họa cách xoay (Rotate) tài liệu PDF.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Rotate(options);
Ví dụ sử dụng:
Ví dụ minh họa cách thay đổi kích thước (Resize) tài liệu PDF.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Resize(options);
Ví dụ sử dụng:
Ví dụ minh họa cách nén (Compress) tài liệu PDF.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Compress(options);
Ví dụ sử dụng:
Ví dụ minh họa cách thêm bảng (Table) vào file PDF.
// Configure table options
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age")
.AddRow()
.AddCell().AddParagraph("Bob")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Sam")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Sandy")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Tom")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Jim")
.AddCell().AddParagraph("27");
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
PdfManager.AddTable(options);
Ví dụ sử dụng:
Ví dụ minh họa cách thêm mục lục (Table of Contents) vào file PDF.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter III", 5));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);
Ví dụ sử dụng:
Ví dụ minh họa cách thêm mục lục vào PDF kèm tạo bookmark.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);
Ví dụ sử dụng:
Ví dụ minh họa cách thêm mục lục vào PDF và lưu dưới dạng stream.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output stream
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);
Cải tiến khả năng sử dụng của TableGenerator
- Class TableGenerator: là tĩnh và không cần khởi tạo đối tượng.
- Class TableGenerator: được đánh dấu là Obsolete. Hãy dùng PdfManager thay thế.
Cải tiến khả năng sử dụng của PdfChatGpt
- Class PdfChatGpt: là tĩnh và không cần khởi tạo đối tượng.
- Class PdfChatGptRequestOptions: thêm thuộc tính CancellationToken (được chuyển từ PdfChatGpt).
Ví dụ sử dụng:
Ví dụ minh họa cách sử dụng plugin PdfChatGpt bằng cách thêm tin nhắn vào yêu cầu.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Thêm đường dẫn file đầu ra.
options.ApiKey = "Your API key."; // Bạn cần cung cấp khóa để truy cập API.
options.MaxTokens = 1000; // Số token tối đa sẽ được tạo trong chat completion.
// for cancel
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Add the request messages.
options.Messages.Add(new Message
{
Content = "You are a helpful assistant.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What is the biggest pizza diameter ever made?",
Role = Role.User
});
// Process the request.
await PdfChatGpt.ProcessAsync(options);
Các lỗi đã được sửa
- Sửa lỗi meta data khi chuyển đổi html sang pdf.
- Sửa lỗi định dạng văn bản và hình ảnh bị thu phóng khi chuyển PDF sang
PDF/A_3b. - Sửa lỗi PDF/A tạo ra báo lỗi khi in.
- Sửa lỗi ảnh trong PDF chuyển sang HTML vẫn còn nền.
- Sửa lỗi một số ký tự Trung Quốc hiển thị dưới dạng hộp khi chuyển HTML sang PDF.
- Sửa lỗi font tùy chỉnh ở dạng Base64 không được áp dụng khi chuyển HTML sang PDF.
- Sửa lỗi CSS của trường mẫu không được áp dụng khi chuyển HTML sang PDF.
- Sửa lỗi biểu đồ không hiển thị đúng khi chuyển HTML sang PDF.
- Sửa lỗi ký tự đặc biệt không được hiển thị khi chuyển HTML sang PDF.
v25.9
Cải thiện tính năng sử dụng của DocConverter và thêm chế độ mới
- Class DocConverter: là tĩnh và không yêu cầu sử dụng constructor.
- Class PdfToDocOptions: đã thêm thuộc tính “Mode” cho phép bạn tùy chỉnh quá trình chuyển đổi.
- Enum DocConversionMode: cho phép bạn tùy chỉnh quá trình chuyển đổi pdf‑doc. Các giá trị:
- TextBox: Chế độ này nhanh và tốt cho việc bảo tồn tối đa giao diện gốc của tệp PDF, nhưng khả năng chỉnh sửa của tài liệu kết quả có thể bị giới hạn. Mỗi khối văn bản được nhóm theo cách trực quan trong tệp PDF gốc sẽ được chuyển thành một textbox trong tài liệu kết quả.
- Flow: Chế độ nhận dạng đầy đủ, engine thực hiện việc nhóm và phân tích đa cấp để khôi phục ý định của tác giả tài liệu gốc và tạo ra một tài liệu có khả năng chỉnh sửa tối đa.
Ví dụ sử dụng:
// Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng Doc.
// Tạo đối tượng PdfToDocOptions để đặt các chỉ dẫn
var options = new PdfToDocOptions();
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn file đầu ra
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Thực hiện quá trình
DocConverter.Process(options);
Ví dụ sử dụng:
// Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng Doc với việc thiết lập Mode.
// Tạo đối tượng PdfToDocOptions để đặt các chỉ dẫn
var options = new PdfToDocOptions();
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn file đầu ra
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Thiết lập Mode
options.Mode = DocConversionMode.Flow;
// Thực hiện quá trình
DocConverter.Process(options);
Cải thiện tính năng sử dụng của PdfAConverter
Class PdfAConverter: là tĩnh và không yêu cầu sử dụng constructor.
Ví dụ sử dụng:
// Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng PDF/A (trong trường hợp này là PDF/A-3b):
// Tạo lớp tùy chọn để thiết lập quá trình chuyển đổi
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Thêm file nguồn
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // thay thế bằng đường dẫn file thực tế của bạn
// Thêm đường dẫn để lưu file đã chuyển đổi
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Thực thi chuyển đổi
PdfAConverter.Process(options);
Ví dụ sử dụng:
// Ví dụ minh họa cách xác thực tính tuân thủ của tài liệu PDF theo định dạng PDF/A (trong trường hợp này là PDF/A-1a):
// Tạo lớp tùy chọn để thiết lập quá trình xác thực
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Thêm một hoặc nhiều file cần được xác thực
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // thay thế bằng đường dẫn file thực tế của bạn
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// thêm các file khác nếu cần
// Thực thi xác thực và lấy kết quả
var resultContainer = PdfAConverter.Process(options);
// Kiểm tra thuộc tính ResultCollection của resultContainer để lấy kết quả xác thực cho từng file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Kết quả xác thực cho tài liệu thứ i
}
Cải thiện tính năng sử dụng của Timestamp
Class Timestamp: là tĩnh và không yêu cầu sử dụng constructor.
Ví dụ sử dụng:
// Ví dụ minh họa cách thêm Timestamp vào tài liệu.
// Tạo đối tượng AddTimestampOptions để đặt các chỉ dẫn
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn file đầu ra
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Thực hiện quá trình
Timestamp.Process(options);
Tài liệu được cập nhật
Các ví dụ được cập nhật, thêm các ví dụ bổ sung:
- Thông tin về giấy phép và Đánh giá
- Trang sản phẩm
- PDF Table Generator
- PDF TOC Generator
- PDF Timestamp Adder
- PDF/A Converter
- PDF Image Extractor
- PDF Text Extractor
- PDF to XLS Converter
- PDF to HTML Converter
Sửa lỗi
- Sửa các vấn đề với HTML to PDF
- Sửa các vấn đề với PDF to PDF/A-2B
- Cải thiện PDF to JPEG: một số ký tự văn bản xuất hiện dưới dạng hình vuông
- Sửa lỗi render PDF to TIFF
- Sửa lỗi ngoại lệ không mong muốn khi chuyển PDF to JPEG
v25.8
Cải thiện tính tiện dụng của JpegConverter
Class JpegConverter: là tĩnh và không yêu cầu sử dụng constructor.
Ví dụ sử dụng:
// Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng JPEG.
// Tạo đối tượng PdfToJpegOptions để thiết lập các chỉ dẫn
var options = new PdfToJpegOptions();
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Đặt đường dẫn thư mục đầu ra
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Thực hiện quá trình
JpegConverter.Process(options);
Cải thiện tính tiện dụng của PngConverter
Class PngConverter: là tĩnh và không yêu cầu sử dụng constructor.
Ví dụ sử dụng:
// Ví dụ minh họa cách chuyển đổi tài liệu PDF sang định dạng PNG.
// Tạo đối tượng PdfToPngOptions để thiết lập các chỉ dẫn
var options = new PdfToPngOptions();
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Đặt đường dẫn thư mục đầu ra
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Thực hiện quá trình
PngConverter.Process(options);
Cải thiện tính tiện dụng của XlsConverter
- Class XlsConverter: là tĩnh và không yêu cầu sử dụng constructor.
- Class XlsConverter: mô tả đã được sửa.
Ví dụ sử dụng:
// Ví dụ minh họa cách chuyển đổi PDF sang tài liệu XLSX.
// Tạo đối tượng PdfToXlsOptions để thiết lập các chỉ dẫn
var options = new PdfToXlsOptions();
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
/* Đặt đường dẫn file đầu ra */
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Thực hiện quá trình
XlsConverter.Process(options);
Cải thiện tính tiện dụng của Signature
- Class Signature: là tĩnh và không yêu cầu sử dụng constructor.
- Class Signature: mô tả đã được sửa.
- Class Signature: giao diện IPlugin đã bị loại bỏ.
Ví dụ sử dụng:
// Ví dụ minh họa cách ký tài liệu PDF.
// Tạo đối tượng SignOptions để thiết lập các chỉ dẫn
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Thêm đường dẫn file đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
/* Đặt đường dẫn file đầu ra */
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Thực hiện quá trình
Signature.Process(options);
Thay đổi các constructor của PdfToHtmlOptions
Các constructor và tham số đã được tối ưu hóa.
Nội dung dấu đánh giá đã được thay đổi.
Cập nhật tài liệu
Các ví dụ đã được cập nhật, bổ sung thêm các ví dụ:
- Bộ chuyển đổi PDF sang JPEG
- Bộ chuyển đổi PDF sang PNG
- Bộ chuyển đổi PDF sang TIFF
- Bộ làm phẳng mẫu PDF
- Bộ chuyển đổi HTML
- Bảo mật PDF
- Tối ưu hoá PDF
- Gộp PDF
- Tách PDF
Sửa lỗi
- Sửa các vấn đề liên quan đến Annotations
- Sửa các vấn đề sau khi thay đổi kích thước
- Sửa chuyển đổi Tên Font khi chuyển PDF sang PDF/A
- Sửa PDF sang DOCX – khoảng trắng bị chèn vào tiêu đề và các vấn đề khác
- Sửa HTML sang PDF – nền PNG trong suốt
- Sửa PDF nén – Cải thiện làm việc với Adobe Acrobat
v25.7
- Class TextExtractor: là tĩnh và không cần sử dụng constructor.
- Class TextExtractor: cải thiện hành vi khi chạy ở chế độ đánh giá. Không còn ngoại lệ với tài liệu trên 4 trang.
- Class TextExtractor: đã sửa các vấn đề trong phương thức Process.
- Class PdfExtractorOptions: đã bị xóa.
- Class TextExtractorOptions: được tái cấu trúc.
- Enum TextFormattingMode: được đổi tên và cải tiến.
Ví dụ sử dụng:
// The example demonstrates how to extract text content of PDF document.
// Create TextExtractorOptions object to set instructions
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = TextExtractor.Process(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Cải thiện tính khả dụng của Html Converter
- Class HtmlConverter: là tĩnh và không cần sử dụng constructor.
- Class HtmlConverter: đã sửa các vấn đề trong phương thức Process.
- Class HtmlConverter: đã loại bỏ logic IDisposable.
- Class PdfConverterOptions: đã bị xóa.
Ví dụ sử dụng:
// The example demonstrates how to convert PDF to HTML document.
// Create PdfToHtmlOptions object to set output data type as file with embedded resources
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.html"));
//Perform the process
HtmlConverter.Process(options);
// The example demonstrates how to convert HTML to PDF document.
// Create HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_input.html"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
//Perform the process
HtmlConverter.Process(options);
- Class ImageExtractor: là tĩnh và không cần sử dụng constructor.
Ví dụ sử dụng:
// The example demonstrates how to extract images from PDF document.
// Create ImageExtractorOptions to set instructions
var options = new ImageExtractorOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Perform the process
var results = ImageExtractor.Process(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Sửa lỗi nhỏ
- Các sửa đổi nội bộ.
- Sửa các ví dụ và gợi ý của Tiff Converter.
- Rút ngắn thời gian tối ưu hóa trang.
- Sửa: hình ảnh đầu ra không chính xác khi chuyển PDF sang PNG.
- Sửa: ký tự tiếng Trung không hiển thị đúng khi chuyển PDF sang PNG.
- Cải thiện: hiệu suất khi chuyển PDF sang HTML.
v25.6
Cải thiện khả năng sử dụng của Tiff Converter
- Class PdfToTiffOptions: Đã thêm tham số bổ sung cho việc chuyển đổi – Nén.
- Class PdfToTiffOptions: Đã thêm tham số bổ sung cho việc chuyển đổi – Độ sâu màu.
- Class TiffConverter là tĩnh và không cần sử dụng hàm khởi tạo.
- Cải thiện các ví dụ chính.
Ví dụ sử dụng:
// Ví dụ này minh họa cách chuyển đổi tài liệu PDF sang định dạng TIFF.
// Tạo đối tượng PdfToTiffOptions để thiết lập các chỉ dẫn
var options = new PdfToTiffOptions();
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn thư mục đầu ra
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Thực hiện quá trình
TiffConverter.Process(options);
// Ví dụ này minh họa cách chuyển đổi tài liệu PDF sang định dạng TIFF với các tham số bổ sung.
// Tạo đối tượng PdfToTiffOptions để thiết lập các chỉ dẫn
var options = new PdfToTiffOptions();
// Thêm đường dẫn tệp đầu vào
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Đặt đường dẫn thư mục đầu ra
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Các tham số tùy chọn
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Thực hiện quá trình
TiffConverter.Process(options);
Sửa chữa nhỏ
v25.5
- Class FormExporter: Đại diện cho plugin Documentize.FormExporter, được sử dụng để Export Form values of PDF documents to DSV or CSV file
- Class FormExportToDsvOptions: Đại diện cho các tùy chọn Export values of PDF documents to DSV or CSV file by Documentize.FormExporter plugin.
Ví dụ sử dụng:
// The example demonstrates how to Export Form values to CSV file.
// Create FormExportToDsvOptions object to set instructions
var options = new FormExportToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
FormExporter.Process(options);
Cải thiện khả năng sử dụng của Security
- Lớp này là static và không yêu cầu sử dụng constructor.
- Cải thiện các ví dụ chính.
Ví dụ sử dụng:
// The example demonstrates how to encrypt PDF document.
// Create EncryptionOptions object to set instructions
var options = new EncryptionOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Security.Process(options);
// The example demonstrates how to decrypt PDF document.
// Create DecryptionOptions object to set instructions
var options = new DecryptionOptions("123456");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Security.Process(options);
Sửa chữa nhỏ
- Cải thiện gợi ý lớp và giấy phép.
v25.4
Cải thiện khả năng sử dụng của Optimizer
- Lớp này là tĩnh và không yêu cầu sử dụng constructor.
- Cải tiến ví dụ chính.
- Thêm các ví dụ bổ sung.
Ví dụ sử dụng:
// The example demonstrates how to Optimize PDF document.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);
// The example demonstrates how to Rotate PDF document.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);
// The example demonstrates how to Resize PDF document.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);
// The example demonstrates how to Compress PDF document.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);
Cải thiện khả năng sử dụng của Plugin Splitter
- Lớp này là tĩnh và không yêu cầu sử dụng constructor.
- Cải tiến ví dụ chính.
Ví dụ sử dụng:
// The example demonstrates how to Split PDF document.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
Splitter.Process(options);
Cải thiện khả năng sử dụng của Plugin Merger
- Lớp này là tĩnh và không yêu cầu sử dụng constructor.
- Cải tiến ví dụ chính.
Ví dụ sử dụng:
// The example demonstrates how to Merge two PDF documents.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Merger.Process(options);
Sửa lỗi nhỏ
v25.3
- Class FormFlattener: Đại diện cho plugin Documentize.FormFlattener được sử dụng để làm phẳng (flatten) các trường trong tài liệu PDF.
- Class FormFlattenerOptions: Đại diện cho các tùy chọn để Flatten Các Trường trong tài liệu bằng plugin Documentize.FormFlattener.
Ví dụ sử dụng:
// The example demonstrates how to Flatten fields in PDF file.
// Create FormFlattenerOptions object to set instructions
var options = new FormFlattenerOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Optional parameter for skip the field with name "Surname".
options.SkipFields.Add("Surname");
// Perform the process
FormFlattener.Process(options);
// The example demonstrates how to Get Field Names from PDF file.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");
Sửa lỗi nhỏ
- Cải thiện gợi ý lớp và các ví dụ.
v25.2
Đã thêm Plugin mới: TOC Generator
- Class TocGenerator: Đại diện cho plugin Documentize.TocGenerator. Được sử dụng để thêm Mục lục vào tài liệu PDF.
- Class TocOptions: Đại diện cho các tùy chọn khi thêm Mục lục vào tài liệu bằng plugin Documentize.TocGenerator.
- Class TocHeading: Đại diện cho các tùy chọn cho các tiêu đề hoặc tên mục trong Mục lục của tài liệu do plugin Documentize.TocGenerator tạo ra.
Ví dụ sử dụng:
// The example demonstrates how to add Table of Contents to PDF file.
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
TocGenerator.Process(options);
Sửa lỗi nhẹ
- Cải thiện gợi ý lớp và các ví dụ.
- Cập nhật watermark.
- Cải thiện chuyển đổi PDF sang XSLX.
- Cải thiện chuyển đổi PDF sang PDF/A-1a.
v25.1
- Đã thêm Bộ sưu tập Đầu ra vào ImageExtractorOptions.
- Đã thêm hỗ trợ nhiều Đầu vào cho ImageExtractorOptions.
- Đã sửa lỗi luồng đầu ra bị đóng.
Ví dụ Sử dụng:
// create ImageExtractor object to extract images
var plugin = new ImageExtractor();
// create ImageExtractorOptions
var opt = new ImageExtractorOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output directory
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform extraction process
var resultContainer = plugin.Process(opt);
// get the image from the ResultContainer object
var imageExtracted = resultContainer.ResultCollection[0].ToFile();
Sửa Đổi Nhỏ
- Cải thiện gợi ý lớp và các ví dụ.
- Xác thực chữ ký PDF.
- Cải thiện hỗ trợ ký tự Trung Quốc.
v24.12
Thêm Plugin mới: Chuyển PDF sang PNG
- Class PngConverter: Đại diện cho plugin
Documentize.PngConverter. Được sử dụng để chuyển đổi tài liệu PDF sang định dạng PNG. - Class PdfToPngOptions: Đại diện cho các tùy chọn chuyển PDF sang PNG cho plugin
Documentize.PngConverter.
Ví dụ sử dụng:
// create PngConverter
var plugin = new PngConverter();
// create PdfToPngOptions object to set instructions
var opt = new PdfToPngOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);
Thêm Plugin mới: Chuyển PDF sang TIFF
- Class TiffConverter: Đại diện cho plugin
Documentize.TiffConverter. Được sử dụng để chuyển đổi tài liệu PDF sang định dạng TIFF. - Class PdfToTiffOptions: Đại diện cho các tùy chọn chuyển PDF sang TIFF cho plugin
Documentize.TiffConverter.
Ví dụ sử dụng:
// create TiffConverter
var plugin = new TiffConverter();
// create PdfToTiffOptions object to set instructions
var opt = new PdfToTiffOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);
Thêm Plugin mới: Trình tạo Bảng PDF
- Class TableGenerator: Đại diện cho plugin
Documentize.TableGenerator. Được sử dụng để thêm bảng vào tài liệu PDF. - Class TableBuilder: Lớp đại diện cho bộ xây dựng bảng trên trang PDF.
- Class TableRowBuilder: Lớp đại diện cho bộ xây dựng hàng bảng.
- Class TableCellBuilder: Lớp đại diện cho bộ xây dựng ô bảng.
Ví dụ sử dụng:
// create TableGenerator
var plugin = new TableGenerator();
// create TableOptions object to set instructions
TableOptions opt = new TableOptions()
.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age")
.AddRow()
.AddCell().AddParagraph("Bob")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Sam")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Sandy")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Tom")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Jim")
.AddCell().AddParagraph("27");
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// perform the process
plugin.Process(opt);
Đổi tên Class PdfDoc thành DocConverter
- Class DocConverter: Đại diện cho plugin
Documentize.DocConverter. Được sử dụng để chuyển đổi tài liệu PDF sang định dạng DOC/DOCX.
Ví dụ sử dụng:
// create DocConverter
var plugin = new DocConverter();
// create PdfToDocOptions object to set instructions
var opt = new PdfToDocOptions();
// add input file path
opt.AddInput(new FileDataSource(inputPath));
// set output file path
opt.AddOutput(new FileDataSource(outputPath));
// perform the process
plugin.Process(opt);
v24.11
Thêm Plugin mới: Bộ chuyển đổi PDF sang JPEG
- Mục đích: Lớp
JpegConverter được thiết kế để chuyển đổi tài liệu PDF sang định dạng JPEG, giúp người dùng dễ dàng xử lý và chia sẻ hình ảnh được tạo ra từ PDF. - Constructor:
JpegConverter(): Khởi tạo một instance mới của bộ chuyển đổi JPEG.
Ví dụ sử dụng:
var plugin = new JpegConverter();
var opt = new PdfToJpegOptions();
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
plugin.Process(opt);
- Phương thức:
Process(PdfToJpegOptions options): Bắt đầu quá trình chuyển đổi JPEG bằng cách sử dụng các tùy chọn đã chỉ định.
Thêm Class DirectoryDataSource
- Mục đích: Lớp
DirectoryDataSource cho phép người dùng quản lý dữ liệu thư mục cho các thao tác tải lên và lưu trữ trong plugin. - Constructor:
DirectoryDataSource(string path): Khởi tạo một đối tượng dữ liệu thư mục mới với đường dẫn đã cho.
Ví dụ sử dụng:
var directorySource = new DirectoryDataSource("path_to_your_directory");
- Thuộc tính:
DataType: Trả về loại nguồn dữ liệu.Path: Lấy đường dẫn của thư mục dữ liệu hiện tại.
Thêm Class PdfToJpegOptions
- Mục đích: Lớp này chứa các tùy chọn để cấu hình quá trình chuyển đổi JPEG, cho phép người dùng chỉ định độ phân giải, danh sách trang và chất lượng hình ảnh.
- Constructor:
PdfToJpegOptions(): Khởi tạo một đối tượng tùy chọn mới cho bộ chuyển đổi JPEG.
Thuộc tính:
OutputResolution: Xác định độ phân giải của các hình ảnh JPEG đầu ra.PageList: Danh sách các trang sẽ chuyển đổi từ PDF.Quality: Đặt chất lượng của ảnh JPEG đầu ra.
v24.10
Thêm Plugin mới: Bộ chuyển đổi PDF/A
- Đã giới thiệu tính năng chuyển đổi PDF/A mới, cho phép người dùng dễ dàng chuyển đổi các tệp PDF tiêu chuẩn sang tài liệu tuân thủ PDF/A.
Ví dụ sử dụng:
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
var plugin = new PdfAConverter();
plugin.Process(options);
Sửa lỗi
- Đã khắc phục các vấn đề liên quan đến lớp
FileResult dẫn đến đường dẫn đầu ra không đúng. - Đã giải quyết các lỗi nhỏ ảnh hưởng tới
HtmlConverter khi xử lý các tệp lớn.
Cải tiến
- Cải thiện hiệu suất của
PdfExtractor và ImageExtractor để thời gian xử lý nhanh hơn. - Cập nhật lớp
RotateOptions để hỗ trợ các góc quay bổ sung.
v24.9
Đã phát hành