Цвета iText PDF в Acrobat несовместимы - PullRequest
2 голосов
/ 26 мая 2011

Я создаю многостраничный PDF из Java, используя iText.Проблема: линии на моих диаграммах меняют цвет на определенных страницах.

Вот скриншот перехода между страницами: PDF Screenshot

Это взято из Adobe Reader.Строки имеют правильный цвет в OS X Preview.app.

В Reader верхняя часть - # 73C352, нижняя - # 35FF69.В Preview.app строка: # 00FE7E.

Есть мысли о том, что может быть причиной этого несоответствия?Я сохранил PDF-файл из Preview.app и открыл его в Adobe Reader, цвета по-прежнему отключены.

Вот PDF-файл, у которого возникают проблемы .Откройте его в Adobe Reader и посмотрите на переход между страницами 11 и 12.

При дальнейшей проверке выясняется, что java.awt.print.PrinterJob дважды вызывает print () для каждого pageIndex.Это может быть ключом.

Ответы [ 2 ]

4 голосов
/ 26 мая 2011

Проблема со страницами с более темными цветами состоит в том, что они включают в себя объект узора с прозрачным изображением.Когда используется прозрачность, Adobe Acrobat автоматически переключается на пользовательский профиль CMYK, и это вызывает более темные цвета.Только Acrobat делает это, другие зрители ведут себя просто отлично.Решение заключается в том, чтобы либо удалить объект шаблона с прозрачным изображением (кажется, что это артефакт рисования механизма генератора PDF, он нигде не используется на странице), либо вы можете сделать страницу частью группы прозрачности и указатьгруппа прозрачности для использования цветового пространства RGB.

1 голос
/ 26 мая 2011

Несколько различных возможностей, да.

  1. Различные цветовые соответствия.Если вы используете «калиброванное» цветовое пространство на одной странице и цветовое пространство «устройство» на другой, те же значения RGB / CMYK могут давать визуально разные значения.

  2. Еслиgraph находится внутри Form XObject, тот же график может отображаться по-разному в зависимости от текущего графического состояния при рисовании формы.

Если бы вы могли опубликовать ссылку на ваш PDF, я мог бы, вероятно,дать вам конкретный ответ.


Ой.Этот PDF болезненно проскальзывать.Я хотел бы поговорить с кем-то, кто написал свой конвертер PDF.Суровые.Множество ненужного отсечения («текст» обрезается здесь и здесь, например, на странице 7), плохое использование скороговорок для изображений, но не использование скороговорок, когда это действительно поможет, рисование текста в виде контуров, и так далее, и так далее

EDIT: это именно то, что вы видите при рендеринге Java UI через объект PdfGraphics2D.Вы можете сохранить текст как текст, хотя.Это просто вопрос того, как создать экземпляр PdfGraphics2D.

Хорошо, поэтому цвет самой линии идентичен.0 1 0.4 RG.ОДНАКО, происходит некоторая «прозрачность».

На страницах, где есть изображения с мягкими масками или расширенными графическими состояниями, которые изменяют прозрачность, зеленая линия выглядит темнее.На страницах без него он выглядит ярче.

Я подозреваю, что все остальные программы просмотра PDF, которые последовательно рисуют линии, вообще не поддерживают прозрачность или только плохо.

...