2016-10-02 18 views
5

Tôi đang sử dụng iTextSharp phiên bản 5.5.2.0 và khi cố gắng tải mẫu pdf đính kèm 058780-02.pdf Tôi nhận được ngoại lệ trong phương thức ImageRenderInfo.GetImage() "PdfImageObject" không được trả lại và với thông báo cho biết "Độ sâu màu 1 không được hỗ trợ". Bất kỳ đề xuất nào? Cảm ơn, AbedellatifĐộ sâu màu 1 không được hỗ trợ

+1

Các đặc điểm kỹ thuật pdf định nghĩa một định dạng hình ảnh bitmap riêng mà là cực kỳ linh hoạt, đặc biệt là liên quan đến việc không gian màu được hỗ trợ. 'ImageRenderInfo.GetImage()' cố gắng xuất nó theo cách tương thích với các định dạng hình ảnh thông thường. Do tính linh hoạt cao của định dạng bitmap pdf, điều này không phải lúc nào cũng có thể trung thành. Itext không cố gắng tạo ra hàng xuất khẩu không trung thành. Pdf của bạn có vẻ là một trường hợp như vậy. Vì vậy, bạn nhận được ngoại lệ. – mkl

+0

Cảm ơn bạn đã bình luận. Bạn có nghĩ rằng có một cách giải quyết để có thể tải PDF như vậy bằng iTEXT không? –

+0

Bạn có thể thực hiện bổ sung vào itext có thể đối phó với tệp của bạn. IIRC hình ảnh của bạn có màu đen và trắng được mô hình hóa dưới dạng thang độ xám với độ sâu màu 1. Bạn có thể mở rộng hình ảnh này thành một hình ảnh màu xám hoặc thậm chí là màu. – mkl

Trả lời

1

tôi cố định nó, sửa đổi iTextSharp mã nguồn PdfImageObject lớp FindColorspace phương pháp tại 222 dòng thêm

if (PdfName.CALGRAY.Equals(tyca) || PdfName.DEVICEGRAY.Equals(tyca)) { 
    stride = (width * bpc + 7)/8; 
    pngColorType = 0; 
} 
Các vấn đề liên quan