如何使用iIextSharp設置PDF文檔的默認字體和字體大小,以便在整個PDF中使用。使用itextsharp更改pdf中的默認字體和字體大小
回答
感謝您的回答傢伙,但我剛好從外部CSS服用字體覆蓋XmlWorker的默認字體整理出的問題以下屬性:
strong b {font-weight:bold;font-family:Century Gothic;}
em i {font-style:italic;font-family:Century Gothic;}
p,ol,ul,li,dl,a,td,tr{font-family:Century Gothic;font-size:10pt;color:#191919;}
a{color:Blue;}
td,tr,table{border-width:0.5px;}
如果你想知道爲什麼沒有人前進並用這個想法回答你的問題......那麼,試着在你提到的使用html和「XmlWorker」工作的問題中試圖顯示在iTextSharp中創建pdf時的位置。 – mkl
使用下面的函數(如需要您可以更改字體樣式/大小)
Private Function FormatPhrase(value As String) As Phrase
Return New Phrase(value, FontFactory.GetFont(FontFactory.HELVETICA, 8))
End Function
,並以此來顯示信息。
public static void ParseHtmlToPdf(IElementHandler handler,StringReader inputText,float maxWidth,float maxHeight)
{
XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider();
fontProvider.Register(HttpContext.Current.Server.MapPath(@"~/Content/IMTLayout/IMTFonts/CenturyGothic/GOTHIC.TTF"), "Default_CenturyGothic");
CssAppliers ca = new CssAppliersImpl(fontProvider);
var context = new HtmlPipelineContext(ca);
context.SetAcceptUnknown(true);
context.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
context.SetImageProvider(new CustomImageHandler { BaseUri = HttpContext.Current.Request.Url.ToString(),MaxHeight = maxHeight,MaxWidth = maxWidth});
var cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssResolver.AddCssFile(HttpContext.Current.Server.MapPath("~/Content/IMTLayout/IMTCss/pdfreport.css"), true);
var pipeline = new CssResolverPipeline(cssResolver,
new HtmlPipeline(context, new ElementHandlerPipeline(handler, null)));
var worker = new XMLWorker(pipeline, true);
var parser = new XMLParser();
parser.AddListener(worker);
parser.Parse(inputText);
}
我的CSS文件有:例如,
Dim stuName As PdfPCell = New PdfPCell(FormatPhrase("Sample Document"))
這是正確的,但我只想詳細說明。 iText不支持爲文檔設置「默認字體」,而是每次都需要手動指定它。正如@Aishvarya指出的那樣,輔助/工廠方法可以使這一點變得容易一些。 –
由於這不是我想要的,因爲我已經知道這件事了,但我真正的問題是,當我更改字體,然後我的HTML格式的文本都沒有了,我不想發生。任何幫助都令人欽佩。謝謝。 – basnetujwal
會見了俄羅斯和羅馬尼亞字母(itextsharp 5.5.6.0, .net 3.5
)相同的問題。我剛說:
string arialuniTff = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALUNI.TTF");
FontFactory.Register(arialuniTff);
StyleSheet ST = new StyleSheet();
ST.LoadTagStyle(HtmlTags.BODY, HtmlTags.FACE, "Arial Unicode MS");
ST.LoadTagStyle(HtmlTags.BODY, HtmlTags.ENCODING, BaseFont.IDENTITY_H)
和
parser.SetStyleSheet(ST);
,但你開始解析您的TextReader加載之前:
parser.Parse(reader);
否則將無法正常工作。
試試這個:
BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);
Paragraph p1 = new Paragraph(new Chunk("Some text content here \n", font));
- 1. iTextSharp的設置默認字體大小
- 2. 如何更改NSMutableAttributedString的默認字體和字體大小
- 3. 使用iTextSharp更改PDF的字體
- 4. OBIEE 12C更改默認字體大小
- 5. 要更改Android默認字體大小
- 6. 字體和字體大小更改
- 7. 更改Div字體大小和字體
- 8. TinyMCE默認字體大小
- 9. 默認UITableViewCellStyleSubtitle字體大小?
- 10. 如何更改iTextSharp表的默認字體和顏色?
- 11. 如何使用iTextSharp更改我的PDF文檔的字體大小
- 12. MATLAB默認的數字字體大小
- 13. 默認字體大小和相對值
- 14. 如何使用word.js更改單詞中的默認字體和紙張大小
- 15. 更改Cygwin中的默認XTerm字體大小
- 16. 更改Netbeans中Swing控件的默認字體大小
- 17. 如何更改Swing GTK LookAndFeel中的默認字體大小?
- 18. 如何更改ggplot2中的默認字體大小
- 19. 如何更改報告中的默認字體大小
- 20. 如何更改R圖表中的默認字體大小
- 21. 在Android中自動更改設置的默認字體大小?
- 22. Foundation中的默認字體大小?
- 23. iTextSharp XMLWorkerHelper字體大小
- 24. 如何在tinymce中更改默認字體大小?
- 25. Summernote設置默認字體大小和字體
- 26. 如何在將GridView導出爲PDF後在iTextSharp中更改默認字體大小?
- 27. 更改主題的默認字體大小的Windows Phone
- 28. 支持DPI和默認字體更改
- 29. Emacs + Mac OSX和更改默認字體
- 30. 更改NSTable/NSOutlineView的默認字體大小
根據您的評論如下你說的一些關於HTML,請解釋這更多。你解析HTML嗎?如果是這樣,那麼在這種情況下,你實際上可以指定一個默認字體。 –