Как исправить градиенты PDF шаг рендеринг в Apache Pdfbox?JAVA

Программисты JAVA общаются здесь
Anonymous
Как исправить градиенты PDF шаг рендеринг в Apache Pdfbox?

Сообщение Anonymous »

Я использую Apache Pdfbox 3.0.5 , чтобы разместить немного текста в шаблон PDF и отображать результат как png:

Код: Выделить всё

byte[] templateBytes = loadTemplate();

try (var document = Loader.loadPDF(templateBytes)) {
var contentStream = new PDPageContentStream(document, document.getPage(0), PDPageContentStream.AppendMode.APPEND, false, false);

// places text in document

contentStream.close();

renderAndSave(document);
}
Метод renderandSave (pddocument) :

Код: Выделить всё

private void renderAndSave(PDDocument document) throws IOException {
val path = getFilePath();

var renderer = new PDFRenderer(document);
var bufferedImage = renderer.renderImageWithDPI(0, 72, ImageType.RGB);

try (var byteArrayOutputStream = new ByteArrayOutputStream()) {
document.save(byteArrayOutputStream);

ImageIO.write(bufferedImage, "PNG", byteArrayOutputStream);
var bytes = byteArrayOutputStream.toByteArray();

fileService.upload(bytes, path);
}
}
< /code>
Проблема связана с тем, как отображаются градиенты. Вы видите эти шаги? В первичном PDF нет таких резких переходов. /> 
Нет шагов, и градиенты очень гладкие. 
Я не могу решить проблему. I already tried:

[*]Change DPI
[*]Change quality of template PDF file
[*]Set RenderDestination
to VIEW or PRINT
[*]Render to ARGB instead of RGB
Render to JPEG Вместо png < /li>
< /ul>
это не помогает. Проблема не связана с результатом PDF, поскольку результат PDF содержит правильные градиенты. Я пытался отображать PDF с помощью онлайн -сайта, и в результате PNG также были плавные градиенты. Таким образом, проблемы связаны с тем, как Apache Pdfbox рендерирует PDFS.
Как я могу отображать PDF в Java, чтобы получить результат PNG с плавными градиентами?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... che-pdfbox

Вернуться в «JAVA»