2012-07-06 36 views
11

Có rất nhiều điều bí ẩn đối với tôi về những gì đang xảy ra với phông chữ và basefont. Đặc biệt là khi nói đến các nhà xây dựng. Trang web iText cho dòng này như mã ví dụ cho các phông chữ mớiiText, Điều gì đang xảy ra với Font, BaseFont và createFont()?

BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", 
         BaseFont.IDENTITY_H, 
         BaseFont.EMBEDDED); 

tôi có thể nhận cuộc gọi này để làm việc:

BaseFont bf = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1257, 
        BaseFont.EMBEDDED); 

Nhưng nếu tôi thay BaseFont.CP1257 với nói BaseFont.HELVETICA sau đó nó doesn' t làm việc và tôi nhận được một trang có nội dung "không tải được tài liệu pdf".

Tôi đã thử xem qua tệp lớp và tôi không thể tìm ra thông số thứ hai là gì (tôi giả định nó giống như phông chữ dự phòng trong trường hợp phông chữ đầu tiên không hoạt động, như trong HTML) và tôi không thể tìm ra lý do tại sao một số phông chữ sẽ hoạt động chứ không phải những phông chữ khác.

Trả lời

7

Để tải nó từ bên jar của bạn sử dụng dấu gạch chéo hàng đầu khác, chỉ cần sử dụng đường dẫn tuyệt đối của phông chữ của bạn ("C: [...] \ fonts \ Sansation_Regular.ttf"). Ví dụ:

Font font = FontFactory.getFont("/fonts/Sansation_Regular.ttf", 
    BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK); 
BaseFont baseFont = font.getBaseFont(); 
+0

Hữu ích, mặc dù không trả lời câu hỏi. –

+0

Float '0.8f' hoạt động ở đây là gì? Đây là lần đầu tiên trong số 30 tài liệu tham khảo tôi đã xem (bao gồm tài liệu chính thức) thực sự cho bạn biết cách tham khảo và sử dụng phông chữ trong văn bản. Cảm ơn bạn. –

0

Đây là những gì phù hợp với tôi. Bài cũ, nhưng tôi không thể tìm thấy câu trả lời đơn giản.

//Here you setup the font that you want. I put it under the root/Content/fonts folder in my project 
Font font = FontFactory.GetFont("~/Content/fonts/ARIALN.ttf", BaseFont.CP1252,false, 9); 

//Here I create the paragraph then assign the font to it at the end 
var addressAttn = new Paragraph("Attn: Manager, Billing Services", font); 
Các vấn đề liên quan