API Facades
Giao diện API
API Facades cung cấp các lớp bao bọc đơn giản, hướng nhiệm vụ xung quanh mô hình đối tượng cốt lõi của Aspose.PDF FOSS cho .NET. Mỗi lớp facade nhắm tới một thao tác PDF cụ thể — điền biểu mẫu, nối tệp, chỉnh sửa nội dung, hoặc ký số — và mở ra quy trình BindPdf / Save.
Điền biểu mẫu với Form facade
Form (trong Aspose.Pdf.Facades) gắn vào một PDF hiện có và cho phép bạn đọc hoặc ghi các giá trị trường AcroForm mà không cần điều hướng cây trang.
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();Để đọc giá trị trường:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");Kết hợp và tách các tệp PDF bằng PdfFileEditor
PdfFileEditor nối, tách, trích xuất và xóa các phạm vi trang.
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");Chỉnh sửa nội dung trang bằng PdfContentEditor
PdfContentEditor sửa đổi nội dung trang hiện có — thêm văn bản, thay thế văn bản hoặc gắn các hành động vào chú thích.
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");Chữ ký số với PdfFileSignature
PdfFileSignature ký các tài liệu PDF và xác minh các chữ ký hiện có.
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");Đánh dấu trang bằng PdfFileStamp
PdfFileStamp chồng lên văn bản, hình ảnh hoặc các trang PDF khác dưới dạng dấu.
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();Chuyển đổi các trang thành hình ảnh với PdfConverter
PdfConverter chuyển đổi các trang PDF sang các định dạng ảnh raster.
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesMẹo và Thực hành tốt nhất
- Luôn gọi
Close()hoặc sử dụngusingđể giải phóng tài nguyên được giữ bởi các đối tượng facade. - Sử dụng
BindPdfvới đường dẫn tệp cho các tệp lớn để tránh tải toàn bộ vào bộ nhớ cùng một lúc. - Ưu tiên
TryConcatenatevàTryAppendhơn các phiên bản không có Try để xử lý lỗi một cách nhẹ nhàng. - Các facade ủy quyền cho mô hình lõi
Documentnội bộ — chuyển sang API lõi khi bạn cần kiểm soát chi tiết. - Facade
FormEditorcho phép thêm các trường biểu mẫu mới vào PDF hiện có, không chỉ điền vào các trường đã tồn tại.
Các vấn đề thường gặp
| Issue | Cause | Fix |
|---|---|---|
Save() tạo ra tệp rỗng | BindPdf chưa được gọi trước khi lưu | Luôn gắn một PDF nguồn trước khi gọi Save |
| Giá trị trường biểu mẫu không được ghi | Tên trường không khớp với tên trường nội bộ của PDF | Sử dụng Form.FieldNames để liệt kê các tên trường khả dụng |
| Nối file thất bại mà không báo lỗi | Tệp đầu vào bị mã hoá hoặc hỏng | Sử dụng TryConcatenate và kiểm tra giá trị trả về |
| Chữ ký không hợp lệ sau khi chỉnh sửa | Nội dung đã được sửa đổi sau khi ký | Ký tài liệu ở bước cuối cùng |
Câu hỏi thường gặp
Sự khác nhau giữa Facades và core Document API là gì?
Các Facade cung cấp các phương thức cấp cao, hướng nhiệm vụ (điền mẫu, hợp nhất tệp).
API lõi (Document, Page, Annotation) cung cấp quyền truy cập cấp thấp vào mọi đối tượng PDF. Các Facade sử dụng API lõi nội bộ.
Tôi có thể nối chuỗi nhiều thao tác facade không?
Vâng. Liên kết cùng một nguồn, thực hiện các thao tác và lưu một lần. Hoặc lưu một kết quả trung gian và liên kết lại cho thao tác tiếp theo.
PdfFileEditor có hỗ trợ các tệp PDF được bảo vệ bằng mật khẩu không?
Có. Các overload chấp nhận mật khẩu chủ/người dùng có sẵn cho các tệp được mã hóa.
Tóm tắt Tham chiếu API
| Class / Method | Description |
|---|---|
Form | Giao diện AcroForm để đọc và ghi giá trị trường |
Form.FillField | Đặt giá trị trường biểu mẫu theo tên |
Form.GetField | Đọc giá trị trường biểu mẫu theo tên |
FormEditor | Thêm hoặc sửa đổi các trường biểu mẫu trong PDF hiện có |
PdfFileEditor | Hợp nhất, tách, trích xuất và xóa các phạm vi trang PDF |
PdfFileEditor.Concatenate | Hợp nhất hai hoặc nhiều PDF thành một |
PdfFileEditor.Extract | Trích xuất một phạm vi trang thành PDF mới |
PdfContentEditor | Sửa đổi nội dung trang (văn bản, chú thích, hành động) |
PdfFileSignature | Ký và xác minh chữ ký số PDF |
PdfFileStamp | Đặt lớp phủ văn bản hoặc dấu ảnh lên các trang |
PdfConverter | Kết xuất các trang PDF thành hình ảnh raster |
FormattedText | Bộ mô tả văn bản có kiểu cho các thao tác dấu |
FontStyle | Liệt kê các kiểu phông chữ (đậm, nghiêng, v.v.) |
EncodingType | Liệt kê mã hóa ký tự |