#itext7
#java #печать #itext7
Вопрос:
Только некоторые из наших тестировщиков сообщают о странном виде всех строк на распечатке сгенерированного iText7 PDF (см. Изображение). Сгенерированный PDF-файл выглядит идеально, и недостаток появляется только на бумаге. У большинства пользователей вообще нет проблем.
Будут оценены любые предложения относительно известных проблем с принтерами, драйверами или подсказками о том, как воспроизвести или локализовать проблему. Что я мог бы сделать на стороне iText7?
PdfCanvas canvas = new PdfCanvas(pdfPage)
canvas.moveTo(x1,y1);
canvas.lineTo(x2,y2);
canvas.closePathStroke();
PDF-файл можно найти здесь: PDF
Комментарии:
1. Пожалуйста, поделитесь PDF-файлом, для которого возникает ошибка. Кроме того, вы проверили, есть ли у пользователей, имеющих эту проблему, что-то общее, чего нет у пользователей без проблем, например, один и тот же просмотрщик PDF или один и тот же принтер или даже одна и та же ОС?
2. Спасибо, я добавил ссылку на PDF-файл в исходное сообщение. Все пользователи с этой проблемой — используют Chrome в Windows — установка и использование плагина Adobe Reader не помогли. — большинство из них используют принтер brother
3. Хорошо, я могу воспроизвести проблему с вашим примером документа, используя Chrome в Windows с принтером Brother, я также получаю эти дополнительные сегменты строк, используя Adobe Reader вместо Chrome, которого у меня нет. Однако, глядя на PDF-файл, я не вижу ничего, что могло бы вызвать эту проблему. Рассмотрите возможность открытия проблемы для Chrome. Кроме того, хотя в вашем типе рисования линий нет ничего плохого, попробуйте рисовать прямоугольники в виде прямоугольников (вместо нескольких линий) или используйте заполненные тонкие прямоугольники вместо линий, возможно, один из этих вариантов поддерживается Chrome printing.
4. @mkl Купил древний принтер brother для тестирования. Теперь я печатаю тонкие прямоугольники вместо линий, и это работает безупречно. Спасибо за воспроизведение и решение. (Могу я попросить вас добавить свой комментарий в качестве ответа, чтобы я мог принять его.)
Ответ №1:
Превращение предыдущих комментариев в реальный ответ…
Я мог бы воспроизвести проблему с вашим примером документа:
- используя Chrome в Windows с принтером Brother, я также получаю эти дополнительные сегменты строк;
- используя Adobe Reader вместо Chrome, я этого не делаю.
Однако, заглянув в PDF-файл, я не увидел ничего, что могло бы вызвать эту проблему.
Таким образом, хотя для начала в вашем типе рисования линий нет ничего плохого, я предложил рисовать прямоугольники как прямоугольники (вместо нескольких линий) или использовать заполненные тонкие прямоугольники вместо линий. Я надеялся, что один из этих вариантов поддерживается Chrome printing.
И действительно, вы прокомментировали:
Теперь я печатаю тонкие прямоугольники вместо линий, и это работает безупречно.
Итак, хотя ошибка не была вашей с самого начала, изменение вашего кода для рисования границ по-другому решило проблему для вас.