Aspose.PDF FOSS for TypeScript là một thư viện mã nguồn mở để tạo, chỉnh sửa, chuyển đổi,
và bảo mật tài liệu PDF trong các ứng dụng Node.js (>=22). Các lớp Document và Page
là các điểm vào trung tâm: Document.OpenFile() / Document.Open() tải các tệp hiện có
hoặc byte trong bộ nhớ, Document.New() khởi tạo một tài liệu trống, và WriteTo() / Save()
ghi kết quả trở lại, tùy chọn với nén xref-stream. Dự án là một
gói không phụ thuộc (Node.js là yêu cầu môi trường duy nhất) và đang trong giai đoạn
phát triển sớm (hiện tại phiên bản 0.1.0).
Ngoài việc chỉnh sửa tài liệu và trang cốt lõi — tách, hợp nhất, trích xuất, sắp xếp lại và
thêm các trang bằng Document.Split(), Document.Merge(), Document.ExtractPages(), và
Document.Append() — thư viện chuyển đổi các trang và toàn bộ tài liệu sang các định dạng khác bằng
ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage(), và ToEpub(). Hỗ trợ chú thích bao gồm
đánh dấu, gạch chân, gạch sóng, gạch chéo, liên kết, ghi chú văn bản, văn bản tự do và
đánh dấu tem thông qua các phương thức như Page.AddHighlight() và Page.AddStamp(). Các trường AcroForm
(văn bản, hộp kiểm, nút radio, hộp combo, hộp danh sách và nút nhấn) được tạo bằng
lớp Form và các lớp con Field có kiểu, và tài liệu có thể được mã hóa bằng AES-128,
AES-256, hoặc RC4, ký số bằng Document.Sign(), và gỡ bỏ thông tin nhạy cảm bằng
Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript được phát hành theo giấy phép MIT mà không có phí runtime hoặc giới hạn sử dụng (xem phần cài đặt bên dưới). Đối với họ sản phẩm doanh nghiệp, xem Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), hoặc bắt đầu trống bằng Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder() và Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), tùy chọn nén qua các luồng xref và luồng đối tượngDocument.ToHtml() và sang Markdown kiểu GitHub bằng Document.ToMarkdown().docx dạng luồng lại hoặc bố cục cố định bằng Document.ToDocx() / Page.ToDocx()Page.ToSvg() hoặc byte PNG/TIFF raster bằng Page.ToImage()Document.ToEpub() để phân phối cho máy đọc sách điện tửPage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly(), và Page.AddStrikeOut()Page.AddTextNote() và Page.AddFreeText()Page.AddStamp() và liên kết có thể nhấp chuột với Page.AddLink()Annotation.Flatten() được cung cấp trên các subtype được định kiểu như MarkupAnnotation và StampAnnotationForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() và GenerateAppearance() trên các lớp trường đã được xác định kiểu như TextField, ChoiceField, và ButtonFieldSetActions() trên bất kỳ Field nàoDocument.FlattenForm()encrypt của Document.WriteTo(), kèm theo các Permissions chi tiếtDocument.Sign() và xác minh chữ ký bằng Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() và Page.ApplyRedactions()Mở một PDF và chuyển đổi nó sang nhiều định dạng downstream trong một lần.
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildimport { Document } from '@asposefoss/pdf';
const doc = Document.OpenFile('in.pdf');
const svg = doc.Pages[0].ToSvg(); // standalone <svg> string
// fs.writeFileSync('page1.svg', svg);
const png = doc.Pages[0].ToImage({ scale: 2 }); // Uint8Array of PNG bytes @144 DPI
// fs.writeFileSync('page1.png', png);
const html = doc.ToHtml(); // standalone semantic HTML, all pages
// fs.writeFileSync('out.html', html);
const md = doc.ToMarkdown(); // GFM Markdown, all pages
// fs.writeFileSync('out.md', md);
const docx = doc.ToDocx(); // .docx bytes, reflowed, images in the package
// fs.writeFileSync('out.docx', docx);
const fixed = doc.ToDocx({ mode: 'textbox' }); // .docx keeping each page's own geometry
// fs.writeFileSync('fixed.docx', fixed);
Tải một PDF, chỉnh sửa các trang và siêu dữ liệu của nó, và ghi lại với nén.
import { Document } from '@asposefoss/pdf';
// Open from disk (or Document.Open(uint8array) for in-memory data)
const doc = Document.OpenFile('input.pdf');
// Inspect and edit pages
console.log(doc.Pages.length);
doc.Pages[0].Rotate = 90;
doc.RemovePage(2); // 1-based page number
doc.Reorder([3, 1, 2]);
// Metadata
doc.SetMetadata({ title: 'Report', author: 'Jane', custom: { Dept: 'R&D' } });
// Save
doc.WriteTo('output.pdf'); // or: const bytes = doc.Save();
doc.WriteTo('small.pdf', { compressed: true }); // xref stream + object streams
Bắt đầu một tài liệu trống, thêm văn bản có vị trí và nối thêm một trang.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4); // one blank A4 page
doc.Pages[0].AddText('Hello', 72, 720, { fontSize: 14 });
doc.AddPage(PageFormat.A4.landscape()); // append more as you go
doc.WriteTo('scratch.pdf');
Mã hoá một tệp PDF hiện có bằng cặp mật khẩu người dùng/chủ sở hữu và AES-256, đồng thời hạn chế việc sao chép và chỉnh sửa.
import { Document } from '@asposefoss/pdf';
const doc = Document.OpenFile('in.pdf');
doc.WriteTo('locked.pdf', {
encrypt: {
userPassword: 'open-me', // required to open (default '')
ownerPassword: 'full-rights', // default: same as userPassword
algorithm: 'aes256', // 'aes256' (default) | 'aes128' | 'rc4'
permissions: { copying: false, modifying: false },
encryptMetadata: true,
},
});
Aspose.PDF FOSS for TypeScript được phát hành dưới giấy phép MIT, cho phép sử dụng miễn phí trong các sản phẩm thương mại mà không có phí chạy thời gian. Mã nguồn được công khai trên GitHub.
Gói này nhắm mục tiêu Node.js 22 trở lên và không có bất kỳ phụ thuộc thời gian chạy nào khác. Xem phần cài đặt ở trên để biết lệnh cài đặt hiện tại.
Thư viện đọc và ghi PDF, Markdown, SVG và TIFF, và có thể tạo đầu ra DOCX, HTML, PNG và EPUB.
Sử dụng Document.New(PageFormat.A4) để tạo một tài liệu trống, sau đó thêm các trang và lưu bằng Document.WriteTo().
Không cần khóa giấy phép hoặc bước kích hoạt nào. Thư viện chạy hoàn toàn không có giấy phép và không mất phí dưới giấy phép MIT License.