Программа просмотра IcePDF не отображает всплывающие окна со строками - PullRequest
0 голосов
/ 14 июля 2020

Я использую IcePDF 6.3.2, и при наведении курсора мыши на аннотацию строки с помощью мыши
не появляется всплывающее окно.

Когда я открываю тот же PDF-файл с помощью Adobe Reader появляется всплывающее окно.

То, что я пытаюсь сделать, это имитировать c поведение всплывающей подсказки в источнике ссылки.

Чтобы создать файл PDF, я использую iText 7 с этим code:

public class PdfToolTipTextRenderer extends TextRenderer {

    private String toolTip;
    /**
     * 
     * Constructor 
     *
     * @param textElement
     * @param toolTip
     */
    public PdfToolTipTextRenderer(Text textElement, String toolTip) {
        super(textElement);
        this.toolTip = toolTip;
    }

    @Override
    public void draw(DrawContext drawContext) {
        super.draw(drawContext);

        PdfDocument pdfDoc = drawContext.getDocument();
        Rectangle rect = this.getOccupiedAreaBBox();
        PdfPage page = pdfDoc.getLastPage();
        PdfAnnotation lineAnnotation = new PdfLineAnnotation(
                new Rectangle(rect),
                new float[] { rect.getLeft(), rect.getBottom(), rect.getRight(), rect.getTop() })
                .setContentsAsCaption(true).setTitle(new PdfString(toolTip))
                .setContents("  ") // The contents is the printed text from super.draw() call
                .setFlags(PdfAnnotation.NO_ZOOM | PdfAnnotation.READ_ONLY | PdfAnnotation.NO_ROTATE
                        | PdfAnnotation.TOGGLE_NO_VIEW | PdfAnnotation.LOCKED_CONTENTS | PdfAnnotation.LOCKED);

        page.addAnnotation(lineAnnotation);
    }
}

Заранее спасибо.

...