2014-11-02 17 views
0

Я использую XMLWorker и itext для преобразования html в pdf. У моего html есть таблица, и мне нужно установить ее cellpacing = 0 cellpadding = 0. Кто-нибудь знает, как это сделать?Как я могу добавить cellpacing в pdftable при анализе html с помощью XMLWorker и itext

в HTML я увидел, что я могу заменить его, установив стиль:

border-collapse: collapse; border-spacing: 0px ; border : 0; padding : 0;

благодаря Tami

ответ

0

Я попробовал то, что вы делаете с помощью CSS вам предлагаю и работает для меня:

enter image description here

Вы можете найти мой тест здесь: ParseHtmlTable5

Это мой HTML (включая CSS): table3_css.html

<html> 
<head> 
<style> 
    table, td { 
     border: 1px solid green; 
     border-spacing: 0px; 
     padding: 0px; 
    } 
</style> 
</head> 
<body> 
<table class='test'> 
    <tr> 
    <th>Firstname</th> 
    <th>Lastname</th> 
    <th>Savings</th> 
    </tr> 
    <tr> 
    <td>Peter</td> 
    <td>Griffin</td> 
    <td>$100</td> 
    </tr> 
    <tr> 
    <td>Lois</td> 
    <td>Griffin</td> 
    <td>$150</td> 
    </tr> 
    <tr> 
    <td>Joe</td> 
    <td>Swanson</td> 
    <td>$300</td> 
    </tr> 
    <tr> 
    <td>Cleveland</td> 
    <td>Brown</td> 
    <td>$250</td> 
</tr> 
</table> 
</body> 
</html> 

Я предлагаю вам сравнить ваш HTML с моим, чтобы узнать, что вы делаете неправильно. Вы также должны использовать последнюю версию XML Worker и iText (Sharp), поскольку мы значительно улучшили синтаксический анализ HTML в последних версиях.

Обратите внимание, что я определил сплошную зеленую границу 1px, чтобы доказать, что между ячейками нет пробелов и интервалов между ними. Если изменить CSS так:

<style> 
    table, td { 
     border: 0px; 
     border-spacing: 0px; 
     padding: 0px; 
    } 
</style> 

вы получите (безобразно) версию таблицы без границ, без промежутков между клетками и без прокладки внутри клеток.

+0

Я пробовал ваш код, и это правильно, моя проблема может быть связана с rowSpan и colspan. Поддерживает ли парсер эти преимущества? – tamih

+1

Если мой ответ верен, примите его. Не используйте комментарии для добавления нового вопроса. Прежде чем задавать вопрос, если что-то работает, попробуйте. Если он не работает, выполните поиск в StackOverflow. Вчера я представил доказательства, что rowspan и colspan работают: http://stackoverflow.com/questions/26679003/rowspan-does-not-work-in-itextsharp. Вы могли бы найти это доказательство, если бы вы посмотрели на другие примеры таблиц на официальный сайт iText: http://itextpdf.com/sandbox/xmlworker –

+0

спасибо за помощь, есть ли способ определить, что обработанные изображения будут иметь padding = 0? поэтому ячейка будет точно в размере изображения? – tamih

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