Khắc phục sự cố Aspose.Words FOSS for .NET
Trang này đề cập đến các vấn đề phổ biến gặp phải khi xây dựng và sử dụng Aspose.Words FOSS cho .NET, và cách giải quyết chúng.
Các vấn đề về xây dựng và cài đặt
dotnet add package Aspose.Words không thể tìm thấy gói
Lệnh đó trỏ tới gói thương mại Aspose.Words, không phải phiên bản FOSS — ID gói FOSS là Aspose.Words.FOSS:
dotnet add package Aspose.Words.FOSSHoặc, chạy git clone để lấy mã nguồn, sau đó cd vào thư mục đã sao chép và chạy dotnet build trên giải pháp:
git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c ReleaseSau đó thêm một tham chiếu dự án tới Aspose.Words.csproj từ ứng dụng của bạn thay vì một tham chiếu gói.
Tham chiếu dự án không được giải quyết sau khi sao chép
Xác nhận tham chiếu trỏ tới Aspose.Words.csproj trong thư mục Aspose.Words-FOSS-for-.NET/Aspose.Words/ đã được sao chép, và rằng giải pháp đã được xây dựng thành công trước tiên (dotnet build Aspose.Words.sln -c Release). Thư viện nhắm mục tiêu .NET Standard 2.0, vì vậy bất kỳ SDK nào nhắm mục tiêu .NET Framework 4.6.2+ hoặc .NET 6/8/10 đều có thể tham chiếu tới nó.
Vấn đề tải
UnsupportedFileFormatException khi tải tài liệu
UnsupportedFileFormatException được ném ra trong quá trình tải khi định dạng tệp không được nhận dạng hoặc không được phiên bản này hỗ trợ. Các định dạng tải của phiên bản này là DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown và văn bản thuần — việc truyền một đường dẫn không được hỗ trợ như input.doc vào hàm khởi tạo Document sẽ gây ra ngoại lệ này thay vì trả về tài liệu đã tải:
using Aspose.Words;
try
{
Document doc = new Document("input.doc");
}
catch (UnsupportedFileFormatException ex)
{
Console.WriteLine("Format not supported by this edition: " + ex.Message);
}Bắt UnsupportedFileFormatException quanh hàm khởi tạo Document cho phép bạn báo cáo một thông báo rõ ràng thay vì để ngoại lệ lan truyền dưới dạng stack trace thô.
FileCorruptedException trên một tệp có vẻ hợp lệ
FileCorruptedException được ném ra trong quá trình tải khi tệp có vẻ bị hỏng và không thể phân tích — ví dụ, một tệp .docx không phải là gói OOXML dựa trên ZIP hợp lệ, hoặc một tệp bị cắt ngắn trong quá trình truyền. Hãy lấy lại tệp từ nguồn và xác nhận nó mở đúng trước khi tải bằng Document.
IncorrectPasswordException khi mở tài liệu được bảo vệ.
Lỗi này được ném ra khi tài liệu được mã hóa bằng mật khẩu và mật khẩu được cung cấp cho hàm khởi tạo Document phiên bản LoadOptions bị thiếu hoặc không đúng. Cung cấp mật khẩu đúng qua LoadOptions.Password trước khi tải.
Vấn đề lưu và xuất.
Việc Document.Save() sang PDF, XPS, hoặc định dạng ảnh thất bại.
Phiên bản này không bao gồm hệ thống bố cục trang và render, vì vậy Document.Save() không thể xuất ra định dạng PDF, XPS, hoặc ảnh.
Lưu dưới dạng DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown hoặc văn bản thuần thay vì — đó là các định dạng mà phiên bản này thực sự ghi. Bản thương mại Aspose.Words cho .NET thêm đầu ra PDF, XPS và hình ảnh.
Số trang và các mục trong mục lục luôn hiển thị 0.
Aspose.Words FOSS cho .NET bao gồm một động cơ đánh giá trường đầy đủ, vì vậy các trường nội dung như DATE và DOCPROPERTY được cập nhật chính xác. Các trường phụ thuộc vào bố cục trang — số trang, NUMPAGES, và các mục TOC — sẽ đánh giá thành một 0 thay vì giá trị tính toán, vì phiên bản này không bao gồm động cơ bố cục thường dùng để phân trang tài liệu. Đây là hành vi mong đợi trong phiên bản này, không phải là lỗi.
Các vấn đề chữ ký số
Ký tài liệu không có hiệu lực
DigitalSignatureUtil.Sign() và các API ký liên quan tồn tại trong mô hình đối tượng để tương thích cấu trúc với sản phẩm thương mại, nhưng việc tạo chữ ký mới không hoạt động trong phiên bản FOSS này — việc gọi chúng không tạo ra kết quả đã ký. Phiên bản này có thể kiểm tra và xác minh các chữ ký đã được gắn vào tài liệu qua Document.DigitalSignatures và DigitalSignatureUtil.LoadSignatures(), nhưng quy trình ký yêu cầu Aspose.Words thương mại cho .NET.
Vấn đề phông chữ
Phông chữ nhúng lớn hơn dự kiến
Khi EmbedTrueTypeFonts được bật, phông chữ được nhúng dưới dạng các tệp nguyên vẹn thay vì chỉ lấy một phần các glyph thực sự được sử dụng trong tài liệu, do đó các tệp đã lưu có phông chữ nhúng sẽ lớn hơn so với đầu ra tương đương từ sản phẩm thương mại. Không có cách khắc phục nào trong phiên bản này — embedded-font subsetting không được bao gồm.