Описание проблемы:
Я использую HTML2PDF для преобразования HTML в PDF, но я обнаружил, что некоторые стили CSS (такие как Flexbox) не отображаются правильно. Я ожидал, что PDF сохранит тот же макет, что и на веб-странице, но сгенерированный PDF имеет неверные стили.public static byte[] createPDF(String htmlTmpStr, String fontFile) throws Exception {
ByteArrayOutputStream outputStream = null;
byte[] result = null;
outputStream = new ByteArrayOutputStream();
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(htmlTmpStr);
renderer.getSharedContext().setReplacedElementFactory(new B64ImgReplacedElementFactory());
renderer.getSharedContext().getTextRenderer().setSmoothingThreshold(1);
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont(fontFile, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.layout();
renderer.createPDF(outputStream);
result = outputStream.toByteArray();
outputStream.flush();
outputStream.close();
return result;
}
< /code>
css code: < /p>
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-family: "Arial";
}
@media print {
body {
-webkit-print-color-adjust: exact;
}
}
@media print {
@page {
size: 80mm 80mm;
margin-top: 0;
margin-right: 1rem;
margin-bottom: 0;
margin-left: 0;
min-height: auto;
}
html,
.content {
width: 80mm;
height: 85mm;
content: ".";
}
}
.content.page-break {
display: block;
page-break-after: always;
}
.content {
width: 80mm;
height: 85mm;
background-color: white;
position: relative;
margin: 4px;
}
.line-clamp-1 {
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.line-clamp-2 {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.line-clamp-4 {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.line-clamp-5 {
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
}
.line-clamp-6 {
display: -webkit-box;
-webkit-line-clamp: 6;
-webkit-box-orient: vertical;
}
.module {
overflow: hidden;
}
.line {
line-height: 12px;
}
.items :last-child {
border-bottom: 1px dotted;
}
#process-bar {
margin:auto;
position: fixed;
z-index: 1000;
width: 98%;
height: 8px;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.w3-light-grey,
.w3-hover-light-grey:hover,
.w3-light-gray,
.w3-hover-light-gray:hover {
color: #000 !important;
background-color: #f1f1f1 !important;
}
.w3-round,
.w3-round-medium {
border-radius: 4px;
}
.w3-round-large {
border-radius: 8px;
}
.w3-green,
.w3-hover-green:hover {
color: #ff8328 !important;
background-color: #ff8328 !important;
height: 8px;
font-size: 1px;
}
< /code>
Сообщение об ошибке:
не сообщалось об ошибках, но сгенерированный макет в сгенерированном PDF-файле недействителен, а текст выровнен левой. Особенности.
Вопрос:
Есть ли какие -либо другие библиотеки Java, которые могут лучше поддерживать современные CSS? < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... s-are-lost
При использовании HTML2PDF для преобразования HTML в PDF стили CSS теряются ⇐ CSS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
При использовании HTML2PDF для преобразования HTML в PDF стили CSS теряются
Anonymous » » в форуме JAVA - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
При использовании HTML2PDF для преобразования HTML в PDF стили CSS теряются
Anonymous » » в форуме JAVA - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Текст отключен и дополнительное расстояние при экспорте HTML в PDF с HTML2PDF
Anonymous » » в форуме Html - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Текст отключен и дополнительное расстояние при экспорте HTML в PDF с HTML2PDF
Anonymous » » в форуме CSS - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Текст отключен и дополнительное расстояние при экспорте HTML в PDF с HTML2PDF
Anonymous » » в форуме Javascript - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-