Aspose.PDF FOSS for TypeScript Tính năng
Aspose.PDF FOSS cho TypeScript Các tính năng
Trang này khảo sát các lĩnh vực khả năng chính của Aspose.PDF FOSS cho TypeScript và các lớp đóng vai trò là điểm vào của chúng, để bạn có thể tìm trang hướng dẫn cho nhà phát triển phù hợp với nhiệm vụ hiện tại. Mỗi lĩnh vực được trình bày chi tiết trên trang riêng của nó.
Quản lý Tài liệu và Trang
Document là điểm vào cho mọi thao tác: Document.New() khởi tạo một tài liệu trống tại PageFormat được cung cấp, và Document.OpenFile() / Document.Open() tải một tài liệu hiện có từ đường dẫn tệp hoặc từ byte trong bộ nhớ. doc.Pages là một mảng các đối tượng Page, và Document.WriteTo() / Document.Save() ghi kết quả trở lại.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);
doc.Pages[0].AddText('Hello from Aspose.PDF FOSS!', 72, 720, { fontSize: 14 });
doc.WriteTo('hello.pdf');Xem Core API cho vòng đời tài liệu, tách, hợp nhất và lắp ráp trang.
Chuyển đổi Định dạng
Document.ToHtml(), Document.ToDocx(), và Document.ToMarkdown() chuyển đổi mỗi trang của tài liệu sang định dạng khác; các phương pháp tương tự tồn tại trên Page để chuyển đổi một trang duy nhất, cộng thêm Page.ToImage() để xuất raster PNG và Page.ToSvg() để xuất SVG độc lập.
const doc = Document.OpenFile('report.pdf');
const html = doc.ToHtml(); // standalone HTML, all pages
const png = doc.Pages[0].ToImage({ scale: 2 }); // PNG bytes for page 1
Xem Conversion cho bộ đầy đủ các định dạng xuất và tùy chọn.
Chú thích
Page.AddHighlight() và phương thức đồng đẳng Page.Add*() của nó tạo ra các chú thích đánh dấu và hình dạng; mỗi phương thức trả về một tay cầm Annotation đang hoạt động. Annotation.Flatten() nhúng giao diện của chú thích trực tiếp vào luồng nội dung của trang và loại bỏ nó khỏi /Annots, làm cho nó trở thành vĩnh viễn và không tương tác.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Xem Annotations cho bộ đầy đủ các loại chú thích và tìm kiếm văn bản chú thích.
Biểu mẫu và làm phẳng trường
AcroForm fields are created through doc.Form, a Form facade, or directly on a Page with Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() và Form.AddCheckbox() trả về một tay cầm trường mà phương thức Flatten() của nó tự nó nhúng nó vào nội dung tĩnh theo cùng cách mà Annotation.Flatten() thực hiện.
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Xem Forms cho bộ đầy đủ các loại trường.
Security
Document.OpenFile() và Document.Open() chấp nhận tùy chọn password để mở tài liệu được bảo vệ, và Document.Save() chấp nhận tùy chọn encrypt để bảo vệ một tài liệu khi lưu. Document.Sign() và Document.Certify() thêm chữ ký số, và Document.VerifySignatures() kiểm tra mọi chữ ký đã có trong tài liệu.
import { Document, InvalidPasswordError } from '@asposefoss/pdf';
try {
const doc = Document.OpenFile('secret.pdf', { password: 'hunter2' });
doc.WriteTo('decrypted.pdf');
} catch (e) {
if (e instanceof InvalidPasswordError) console.error('wrong password');
else throw e;
}Xem Security đối với mã hóa, ký và xác minh chữ ký.
Redaction
Page.AddRedact() đánh dấu một vùng hình chữ nhật để xóa nội dung mà chưa thay đổi trang; Page.ApplyRedactions() sau đó ghi lại luồng nội dung một cách phá hủy, loại bỏ vĩnh viễn nội dung đã đánh dấu và trả về số lượng lần xóa đã áp dụng.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Xem Redaction đối với chế độ mark-mode so với các việc xóa thông tin đã áp dụng chi tiết hơn.
Cấu trúc tài liệu và khả năng truy cập
Document.AutoTag() suy luận và tạo một /StructTreeRoot từ bố cục trang — tiêu đề dựa trên việc nhóm kích thước phông chữ, đoạn văn, và (với opts.alt) hình ảnh — và trả về một AutoTagReport. Document.GetStructTree() đọc lại cây cấu trúc kết quả, và Document.ValidatePdfUa() kiểm tra tài liệu so với một tập con có thể kiểm tra bằng máy của PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Xem Structure đối với đề cương, gắn thẻ và các điểm đến có tên.
Mẹo và Thực hành Tốt nhất
- Sửa đổi các đối tượng
Pageđược truy cập quadoc.Pagestrực tiếp — một chú thích, trường, hoặc trang được giữ trong một biến riêng mà không được lấy từ tài liệu trực tiếp sẽ không được phản ánh khi bạn gọiSave()/WriteTo(). Flatten()có sẵn trên cảAnnotationvà các trình xử lý trường biểu mẫu (TextField,CheckboxFieldvà các loại trường khác) — gọi nó một khi nội dung tương tác nên trở thành nội dung trang cố định, không thể chỉnh sửa.- Gọi
Page.ApplyRedactions()chỉ sau khi mọi dấuPage.AddRedact()cho trang đó đã được thêm; các dấu được thêm sau lời gọi sẽ không được áp dụng. - Bắt
InvalidPasswordErrormột cách cụ thể trước khi sử dụng phương thức bắt chung rộng hơn khi gọiDocument.OpenFile()/Document.Open()trên đầu vào không tin cậy. Document.AutoTag()tạo ra một cây cấu trúc heuristic — luôn kiểm tra nhanh kết quả bằngDocument.GetStructTree()hoặcValidatePdfUa()thay vì giả định tuân thủ đầy đủ tiêu chuẩn truy cập.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Sửa |
|---|---|---|
Document.OpenFile() / Document.Open() ném InvalidPasswordError | Tài liệu được bảo vệ bằng mật khẩu và không có mật khẩu nào được cung cấp, hoặc mật khẩu được cung cấp không đúng | Chuyển { password: '...' } tới Document.OpenFile() / Document.Open() |
| Dấu che không có hiệu lực | Page.ApplyRedactions() chưa bao giờ được gọi, hoặc đã được gọi trước khi dấu được thêm | Gọi Page.AddRedact() cho mỗi dấu trước, sau đó gọi Page.ApplyRedactions() một lần |
| Trường đã làm phẳng hoặc chú thích vẫn hiển thị dưới dạng tương tác | Flatten() đã được gọi trên một bản sao thay vì tay cầm được trả về bởi lời gọi Add*() | Gọi Flatten() trên đối tượng được trả về trực tiếp bởi AddTextField() / AddHighlight() / v.v. |
ValidatePdfUa() vẫn báo thiếu cấu trúc sau khi AutoTag() | AutoTag() là heuristic và có thể không gắn thẻ mọi hình ảnh nếu không có callback alt | Chuyển một hàm opts.alt cho AutoTag() để cung cấp văn bản thay thế cho hình ảnh |
FAQ
Liệu Aspose.PDF FOSS cho TypeScript có phụ thuộc vào một công cụ PDF thương mại không?
Không. Nó được phát hành dưới giấy phép MIT và logic render, chuyển đổi và ký của nó chạy hoàn toàn trong TypeScript/JavaScript.
Tôi có thể chuyển đổi trực tiếp một PDF sang HTML, Markdown hoặc DOCX không?
Có — Document.ToHtml(), Document.ToMarkdown() và Document.ToDocx() render mọi trang của tài liệu; các phương pháp Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() tương đương chỉ render một trang.
Sự khác nhau giữa việc đánh dấu và áp dụng một việc xóa nhạy cảm là gì?
Page.AddRedact() chỉ đánh dấu một vùng — nội dung nền vẫn còn hiện hữu và có thể sao chép cho đến khi Page.ApplyRedactions() được gọi, thao tác này sẽ xóa nó một cách phá hủy.
Làm thế nào để tôi làm cho một chú thích hoặc trường biểu mẫu trở nên cố định và không thể chỉnh sửa?
Gọi Flatten() trên đối tượng được trả về bởi lời gọi Add*() đã tạo ra nó — Annotation.Flatten() cho các chú thích, hoặc Flatten() riêng của bộ xử lý trường cho các trường AcroForm.
Tôi nên đi đâu tiếp theo?
Getting Started bao gồm cài đặt và một ví dụ hoạt động đầu tiên. Hướng dẫn dành cho nhà phát triển này tiếp tục với các trang riêng cho từng khu vực khả năng được liên kết ở trên.
API Reference Tóm tắt
| Lớp/Phương thức | Mô tả |
|---|---|
Document | Điểm vào — tạo, tải, lưu và quản lý một PDF |
Document.New() / Document.OpenFile() / Document.Open() | Bắt đầu một tài liệu trống, hoặc tải một tài liệu từ đường dẫn tệp hoặc từ byte trong bộ nhớ |
Document.WriteTo() / Document.Save() | Ghi tài liệu vào đường dẫn tệp hoặc trả về byte |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Kết xuất mỗi trang sang định dạng khác |
Page.ToImage() / Page.ToSvg() | Kết xuất một trang duy nhất sang PNG hoặc SVG |
Page.AddHighlight() và các phương pháp chú thích Page.Add*() khác | Tạo một chú thích, trả về một handle đang hoạt động |
Annotation.Flatten() | Bake giao diện của chú thích vào nội dung trang tĩnh |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm facade và tạo trường |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Thêm hoặc xác minh chữ ký số |
Page.AddRedact() / Page.ApplyRedactions() | Đánh dấu và thực hiện việc che nội dung |
Document.AutoTag() / Document.GetStructTree() | Soạn và đọc cây cấu trúc logic của tài liệu |