1. Sản Phẩm
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for .NET

Aspose.PDF FOSS for .NET

Tạo và thao tác tài liệu PDF từ .NET — với chú thích, trường biểu mẫu, trích xuất văn bản, quản lý trang, mã hóa, và nhập khẩu HTML/SVG/Markdown. Có giấy phép MIT.

Thư viện .NET miễn phí có giấy phép MIT cho việc tạo và thao tác PDF

Aspose.PDF FOSS cho .NET là một thư viện có giấy phép MIT để tạo và làm việc với tài liệu PDF trong C# và .NET. Điểm vào trung tâm là lớp Document, hỗ trợ tạo từ đường dẫn tệp, mảng byte, luồng, hoặc các nguồn được bảo vệ bằng mật khẩu, và cung cấp các thao tác Open, Save, Merge, Encrypt, DecryptConvert trên toàn bộ đặc tả PDF.

Thư viện cung cấp 805 lớp bao phủ cấu trúc tài liệu qua Document, PagePageCollection; chú thích phong phú thông qua AnnotationCollection (bao gồm AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotationAddRedactAnnotation); biểu mẫu tương tác với Form, ButtonField, CheckboxField, RadioButtonFieldChoiceField; trích xuất văn bản và tìm kiếm qua TextFragmentAbsorberTextFragment; phát hiện bảng với AbsorbedTable, AbsorbedRowAbsorbedCell; và bảo mật tài liệu qua Document.EncryptDocument.Decrypt. Chuyển đổi định dạng hỗ trợ HTML, SVG và nhập Markdown cùng với xuất PDF.

Cài đặt Aspose.PDF FOSS cho .NET từ NuGet: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Thư viện được cấp phép hoàn toàn theo MIT mà không có phí chạy thời gian hoặc hạn chế sử dụng. Đối với các tính năng doanh nghiệp và hỗ trợ, xem Aspose.PDF for .NET — Enterprise Product.

Cấu trúc tài liệu và quản lý trang

  • Document API: Tạo PDF mới với Document() hoặc mở các tệp hiện có qua Document.Open(path), Document.Open(data), hoặc Document.Open(stream).
  • Quản lý trang: Thêm, truy cập và sắp xếp lại các trang qua PageCollection. Mỗi Page cung cấp Width, Height, MediaBox, xoay, và Annotations.
  • Hợp nhất và tách: Kết hợp nhiều tệp bằng Document.Merge(documents) hoặc Document.MergeDocuments(files). Nhập các trang cụ thể bằng Document.ImportPageDocument.ImportPages.
  • Siêu dữ liệu: Đọc và ghi siêu dữ liệu tài liệu qua DocumentInfoDocument.GetOrCreateMetadata().
  • Serialization: Lưu trữ tài liệu với Document.Save(filename), Document.Save(stream, format), hoặc Document.ToArray().

Các kịch bản Xử lý Tài liệu Thông thường

  • PDF generation: Xây dựng tài liệu một cách lập trình bằng cách tạo một thể hiện Document và điền nội dung vào các trang.
  • Document analysis: Mở các tệp hiện có để kiểm tra siêu dữ liệu, đo kích thước trang hoặc liệt kê các trường biểu mẫu.
  • Thao tác trang: Thay đổi kích thước, xoay hoặc sắp xếp lại các trang bằng cách sử dụng Document.ImportPagePage API.
  • Batch merging: Tập hợp các phần báo cáo hoặc các trang hoá đơn thành một PDF duy nhất bằng cách sử dụng Document.MergeDocuments.

Chú thích và trường biểu mẫu

  • Rich annotation API: AnnotationCollection cung cấp các phương thức cho các chú thích text, link, highlight, underline, strikeout, square, circle, line, ink, stamp, caret, redact, watermark, polygon và polyline.
  • Hành động liên kết: Thêm liên kết URI với AddLinkAnnotation(rect, uri) hoặc liên kết chuyển trang nội bộ với AddLinkAnnotation(rect, destinationPage, destRect).
  • Biểu mẫu tương tác: Truy cập biểu mẫu tài liệu qua Document.Form để liệt kê hoặc tạo các thể hiện ButtonField, CheckboxField, RadioButtonFieldChoiceField.
  • Annotation selection: Lọc chú thích theo loại trên các trang bằng cách sử dụng AnnotationSelector với các overload Visit cho mỗi loại.
  • Annotation flags: Kiểm soát khả năng hiển thị, in và hành vi khóa qua AnnotationFlags.

Các kịch bản xem xét tài liệu và cộng tác

  • Markup review: Thêm các chú thích đánh dấu, gạch chân hoặc văn bản tự do cho quy trình xem xét tài liệu.
  • Redaction: Xóa vĩnh viễn các vùng nội dung nhạy cảm bằng cách sử dụng AddRedactAnnotation.
  • Watermarking: Dán văn bản CONFIDENTIAL hoặc APPROVED lên các trang bằng AddWatermarkAnnotationAddStampAnnotation.
  • Interactive forms: Xây dựng tài liệu có thể điền với các nút radio, hộp kiểm và danh sách lựa chọn cho các quy trình thu thập dữ liệu.

Trích xuất Văn bản và Tìm kiếm

  • Tìm kiếm văn bản: Sử dụng TextFragmentAbsorber để xác định tất cả các đoạn văn bản trên một trang hoặc trong toàn bộ tài liệu, với tùy chọn khớp cụm từ.
  • Thuộc tính đoạn: Mỗi TextFragment cung cấp Text, Position, TextState (phông chữ, kích thước, màu), và hình chữ nhật bao quanh.
  • Kiểm soát trạng thái văn bản: TextFragmentState cung cấp quyền truy cập vào Font, FontSize, ForegroundColor, BackgroundColor, và chế độ hiển thị.
  • Phát hiện bảng: Xác định và trích xuất nội dung dạng bảng qua AbsorbedTable, AbsorbedRow, và AbsorbedCell, mỗi cái cung cấp RectTextFragments.

Các kịch bản trích xuất văn bản và dữ liệu

  • Chỉ mục nội dung: Trích xuất toàn bộ văn bản trang cho các pipeline tìm kiếm toàn văn.
  • Trích xuất dữ liệu biểu mẫu: Đọc các giá trị trường đã gửi để xử lý phía máy chủ.
  • Phân tích hoá đơn: Sử dụng AbsorbedTable để phân tích dữ liệu bảng dạng hàng và cột từ các PDF tài chính.
  • So sánh Redline: Xác định các đoạn văn bản cụ thể để chú thích hoặc thay thế dựa trên vị trí một cách chính xác.

Bảo mật và Mã hoá

  • Mã hóa AES và RC4: Mã hóa tài liệu với Document.Encrypt(userPassword, ownerPassword, permissions, algorithm) bằng Algorithm.AESx128, AESx256 hoặc RC4x128.
  • Kiểm soát quyền: Hạn chế in, sao chép và khả năng truy cập qua DocumentPrivilege.
  • Quản lý mật khẩu: Thay đổi mật khẩu người dùng và chủ sở hữu bằng Document.ChangePasswords.
  • Giải mã: Loại bỏ bảo vệ bằng Document.Decrypt().
  • Chữ ký số: Truy cập các trường chữ ký và dữ liệu PKCS#7 thông qua các kiểu SignatureAlgorithm.

Các kịch bản bảo mật tài liệu

  • Phân phối bảo mật: Mã hóa các tệp PDF bằng mật khẩu riêng cho từng người nhận trước khi giao.
  • Hợp đồng chỉ in: Áp dụng mật khẩu chủ sở hữu với chế độ chỉ in DocumentPrivilege để ngăn chặn việc sao chép.
  • Lưu trữ tuân thủ: Gỡ bỏ mã hóa khỏi các kho lưu trữ nội bộ sau khi xem xét bảo mật.
  • Xác minh chữ ký: Kiểm tra các chữ ký số được nhúng trong các PDF nhận được để kiểm tra tính xác thực.

Mở một PDF, Thêm chú thích liên kết và Lưu

Mở một PDF hiện có, đính kèm chú thích liên kết URI vào trang 1 và lưu kết quả.

using Aspose.Pdf;

var data = System.IO.File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);
using var ms = new System.IO.MemoryStream();
doc.Save(ms);
System.IO.File.WriteAllBytes("output.pdf", ms.ToArray());

Thêm chú thích Watermark

Thêm watermark vào trang 1 của tài liệu hiện có và thực hiện vòng quay qua quá trình tuần tự hoá.

using Aspose.Pdf;
var input = System.IO.File.ReadAllBytes("report.pdf");
using var doc = Document.Open(input);
doc.Pages[1].Annotations.AddWatermarkAnnotation(
    new Rectangle(0, 0, 612, 792), "CONFIDENTIAL");
var saved = doc.ToArray();
System.IO.File.WriteAllBytes("watermarked.pdf", saved);

Trích xuất các đoạn văn bản từ một trang

Sử dụng TextFragmentAbsorber để liệt kê tất cả các đoạn văn bản trên trang đầu tiên.

using Aspose.Pdf;
using Aspose.Pdf.Text;

var data = System.IO.File.ReadAllBytes("document.pdf");
using var doc = Document.Open(data);
var absorber = new TextFragmentAbsorber();
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine(fragment.Text);
}

Câu Hỏi Thường Gặp

Mô hình cấp phép cho Aspose.PDF FOSS cho .NET là gì?

Aspose.PDF FOSS cho .NET đượ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. Mã nguồn được công khai trên GitHub.

Làm thế nào để cài đặt Aspose.PDF FOSS cho .NET?

Cài đặt từ NuGet bằng dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Thư viện nhắm mục tiêu .NET 8 trở lên mà không có phụ thuộc gốc.

Định dạng tệp nào mà Aspose.PDF FOSS cho .NET hỗ trợ?

Thư viện đọc và ghi PDF và hỗ trợ nhập HTML, SVG và Markdown. Xuất raster cũng khả dụng — các trang PDF có thể được render thành BMP, JPEG, PNG và TIFF.

Làm thế nào để tạo một tài liệu PDF mới?

Sử dụng Document.Create() để tạo một tài liệu trống, sau đó thêm các trang và lưu bằng Document.Save(stream) hoặc Document.ToArray().

Có cần khóa giấy phép để sử dụng Aspose.PDF FOSS cho .NET không?

Không cần khóa giấy phép hay 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 tốn phí dưới giấy phép MIT.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt