2012-02-04 46 views
9

Tôi đang cố gắng đặt phông chữ tùy chỉnh thành Đoạn văn, nhưng tôi không thể làm cho nó hoạt động. Tôi đã thử đặt .ont =, nhưng nó chỉ hoạt động với kích thước khôn ngoan, nhưng nó bỏ qua phông chữ. bạn có thể hỗ trợ tôi không?ItextSharp (Itext) - đặt phông chữ tùy chỉnh cho đoạn

Paragraph T = new Paragraph(newTempLine); 
iTextSharp.text.Font contentFont = iTextSharp.text.FontFactory.GetFont("Webdings", 12, iTextSharp.text.Font.NORMAL); 
T.Font = contentFont; 
myDocument.Add(T); 

Trả lời

12

Set nó trong the constructor:

Font contentFont = FontFactory.GetFont(…); 
Paragraph para = new Paragraph(newTempLine, contentFont); 
+1

Bạn có xảy ra để có bất kỳ thông tin về lý do tại sao các công trình này và 'T.Font = ... 'không? – Nenotlep

+2

@Nenotlep Tôi không thực sự là một cơ quan trên iText internals và tôi phải poke tại nguồn hoặc một cái gì đó, nhưng tôi đoán rằng thiết lập các thuộc tính font chỉ thay đổi font cho văn bản bạn thêm vào đoạn sau. (Điều này dựa trên thực tế là 'Đoạn' có phương thức' thêm (Yếu tố) ', do đó, nó có vẻ là một phần tử tổng hợp.) – millimoose

+1

@Nenotlep Hãy nhớ rằng PDF không ** là một đánh dấu khai báo, nó là một dẫn xuất của PostScript, một ngôn ngữ vẽ bắt buộc được tối ưu hóa để hiển thị các tài liệu rất lớn mà không cần phải giữ chúng đầy đủ trong bộ nhớ. Để cho phép phát trực tiếp, iText cũng không xây dựng một biểu diễn tài liệu trong bộ nhớ - tôi tin rằng khi bạn thêm một phần tử vào một tài liệu, nó thường được viết ngay lập tức. Vì vậy, có vẻ như bạn đang thao tác một biểu diễn logic của một cấu trúc tài liệu, nhưng luồng có thể bị rò rỉ thông qua sự trừu tượng này. – millimoose

Các vấn đề liên quan