2016-05-23 4 views
2

Я использую библиотеку генерации PDF-файлов Flying Saucer в своем Java-коде для преобразования HTML-шаблона в PDF. Шаблон состоит из таблицы с фиксированным количеством столбцов. Я хочу, чтобы каждый столбец имел фиксированную ширину и содержимое в нем, чтобы скрыть при переполнении. Я написал следующий CSS для выполнения этой задачи -Установка ширины столбцов таблицы меньше, чем содержимое

.col1 { 
    width: 50px; 
    max-width: 50px; 
    min-width: 50px; 
} 
.col2 { 
    width: 70px; 
    max-width: 70px; 
    min-width: 70px; 
} 
.col3 { 
    width: 120px; 
    max-width: 120px; 
    min-width: 120px; 
} 
td, th { 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
} 

Видимо, это не ограничивает ширину столбца, если содержание растет над ним. Шаблон выглядит отлично в Chrome и Firefox, но не в сгенерированном PDF-файле.

Есть ли способ ограничить ширину каждого столбца с помощью Flying Saucer PDF?

ответ

3

К столу можно добавить следующий стиль: table-layout:fixed.

Пример:

<html> 
    <head> 
     <style type="text/css"> 
      .col1 {width: 50px;max-width:50px;min-width: 50px;} 
      .col2 {width: 70px;max-width: 70px;min-width: 70px;} 
      .col3 {width: 120px;max-width: 120px;min-width: 120px;} 
      table{table-layout:fixed;} 
      td, th { 
       border:1px solid red 
       overflow: hidden; 
       white-space: nowrap; 
      } 
    </style> 
    </head> 
    <body> 
     <table > 
     <thead> 
      <tr> 
      <td class="col1">Col1</td> 
      <td class="col2">Col2</td> 
      <td class="col3">Col3</td> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td class="col1">Lorem ipsum dolor sit amet, consectetur </td> 
       <td class="col2">la, molestie vel diam vitae, bibendum consequat enim. </td> 
       <td class="col3">s non metus. Donec auctor ipsum in quam bibendum, sit a</td> 
      </tr> 
     </tbody> 
     </table> 
    </body> 
</html> 
+0

Спасибо, что работал! –

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