2011-11-09 1 views
1

Я конвертирую html в pdf с помощью itextsharp, и я хочу установить размер шрифта для тегов. Как я могу это сделать?как применить свойства шрифта на <span> при передаче html в pdf с использованием itextsharp

В настоящее время я использую:

StyleSheet

styles = new StyleSheet(); 
styles.LoadTagStyle(HtmlTags.SPAN, HtmlTags.FONTSIZE, "9f"); 
string contents = File.ReadAllText(Server.MapPath("~/PDF TEMPLATES/DeliveryNote.html")); 

Список

parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(contents), styles); 

Но это не сработало.

ответ

4

Константы, перечисленные в HtmlTags, на самом деле являются мешаниной HTML-тегов, а также свойствами и значениями HTML и CSS, и это может быть немного сложнее, иногда выясняя, что использовать.

В вашем случае попробуйте HtmlTags.SIZE вместо HtmlTags.FONTSIZE, и вы должны получить то, что хотите.

EDIT

Я никогда не видел хороший учебник о том, что свойства делать то, что я обычно просто перейти непосредственно к исходному коду. Например, в классе ElementFactory существует метод, называемый GetFont(), который показывает, как анализируется информация о шрифте. В частности, на line 130 (ревизии 229) вы увидите, где используется HtmlTags.SIZE. Однако фактическое значение для размера анализируется в ChainedProperties в методе AdjustFontSize(). Если вы посмотрите на него, вы увидите, что сначала он ищет значение, которое заканчивается pt, например 12pt. Если он обнаружит, что тогда он выпадает pt и буквально анализирует номер. Если он не заканчивается pt, он переходит к HtmlUtilities к методу GetIndexedFontSize(). Этот метод ожидает либо значения, как +1 и -1 для относительных размеров, или только целые числа, такие как 2 для индексированных размеров. В отношении HTML spec пользовательские агенты должны принимать значения от 1 до 7 для размера шрифта и сопоставлять их с постепенно увеличивающимся списком размеров шрифтов. Это означает, что ваше значение 9f на самом деле недействительное значение, чтобы перейти к этому, вы, вероятно, должны пройти 9pt.

Во всяком случае, вы вроде как половина, чтобы прыгать в источнике, чтобы выяснить, что анализируется где.

+0

Спасибо Крису. Каковы возможные значения этих различных свойств. любые учебники .. – SST

+0

@shivank, я обновил свой ответ выше –

+0

спасибо за помощь .. действительно очень полезно – SST

 Смежные вопросы

  • Нет связанных вопросов^_^