Есть несколько способов сделать это.
Поля формы могут быть установлены на «Только печать» или «Только на экране». Кнопочные поля «Только значок» могут иметь произвольный вид. Пользовательский интерфейс Acrobat позволит вам импортировать любую PDF-страницу, а API-интерфейсы, которые позволяют создавать поля, как правило, позволяют отображать ваши собственные представления.
Необязательные группы содержимого (или слои). OCG может иметь отдельные состояния ВКЛ и ВЫКЛ для экрана и печати. OCG - это относительно продвинутая функция, поддерживаемая только более зрелыми API.
Я фанат (и участник) iText, библиотеки Java, которая вполне способна использовать оба метода. Было бы проще создать кнопку только для значка.
PushbuttonField iconButton = new PushbuttonField(myPdfWriter, rectangle, fieldName);
iconButton.setLayout(PushbuttonField.LAYOUT_ICON_ONLY);
iconButton.setScaleIcon(PushbuttonField.SCALE_ICON_ALWAYS);
iconButton.setVisibility(BaseField.HIDDEN_BUT_PRINTABLE);
PdfImportedPage iconAppearance = myPdfWriter.getImportedPage(pdfReader, pageNum);
iconButton.setTemplate(iconAppearance);
myPdfWriter.addAnnotation(iconButton.getField());
Предполагается, что вы знаете прямоугольник, который следует использовать при создании PDF, и у вас есть страница PDF с черно-белым логотипом.
ПРИМЕЧАНИЕ. IText распространяется по лицензии AGPL, которая требует, чтобы все, кто имеет доступ к выходу программы, также имели доступ к источнику. АКА: Коммерчески враждебно. Или вы можете купить коммерческую лицензию. Предыдущие версии были доступны в соответствии с MPL или LGPL, но больше не поддерживаются, кроме как в таких местах. Даже тогда ответом будет все более "получить более новую версию".