pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Grosso <gary.gro...@oberontech.com>
Subject what should PDAppearanceCharacteristicsDictionary.setRolloverCaption do?
Date Thu, 25 May 2017 01:45:39 GMT
I was expecting PDAppearanceCharacteristicsDictionary.setRolloverCaption(String<eclipse-javadoc:%E2%98%82=Morph2Form/D:%5C/JavaTraining%5C/EclipseNeonWorkspace%5C/CreateSimpleForm%5C/lib%5C/pdfbox-2.0.6.jar%3Corg.apache.pdfbox.pdmodel.interactive.annotation(PDAppearanceCharacteristicsDictionary.class%E2%98%83PDAppearanceCharacteristicsDictionary~setRolloverCaption~Ljava.lang.String;%E2%98%82java.lang.String>
caption) to display the value of argument caption when the user's mouse rolled over the widget.

I get the value passed to setNormalCaption() regardless. Is the problem with my expectations,
my usage, or the implementation?

I'm morphing an existing PDF document, finding locations based on a kludge, since this is
still proof-of-principle, so I only show the one method below. I can write a create-PDF-from-scratch
driver for the method if necessary.

Thanks,
Gary

    private static void addButtonAtRect(PDPage page, PDAcroForm acroForm, String text, PDRectangle
rect) {
        PDPushButton pushButton = new PDPushButton(acroForm);

        // For now, just make sure each partial name is unique.
        String nameStr = text.replaceAll(" ", "") + "Name" + Integer.toString(nameCnt);
        nameCnt++;
        pushButton.setPartialName(nameStr);

        acroForm.getFields().add(pushButton);

        PDAnnotationWidget widget = pushButton.getWidgets().get(0);
        widget.setRectangle(rect);
        if (rect.getHeight() < MIN_RECT_HEIGHT) {
            float diff = MIN_RECT_HEIGHT - rect.getHeight();
            rect.setLowerLeftY((float) (rect.getLowerLeftY() - diff/2.0));
            rect.setUpperRightY((float) (rect.getUpperRightY() + diff/2.0));
        }

        widget.setPage(page);

        String jsString = "app.alert(\"" + text + " Performed.\");";

        //Creating PDActionJavaScript object
        PDActionJavaScript action = new PDActionJavaScript(jsString);
        widget.setAction(action);

        acroForm.setNeedAppearances(true);

        PDAppearanceCharacteristicsDictionary fieldAppearance = new PDAppearanceCharacteristicsDictionary(new
COSDictionary());
        fieldAppearance.setBorderColour(new PDColor(new float[]{0.3F, 0.3F, 0.7F}, PDDeviceRGB.INSTANCE));
        fieldAppearance.setBackground(new PDColor(new float[]{0.9F, 0.9F, 0.9F}, PDDeviceRGB.INSTANCE));
        fieldAppearance.setNormalCaption("This is my NormalCaption");
        fieldAppearance.setRolloverCaption("This is my RolloverCaption");
        fieldAppearance.setAlternateCaption("This is my AlternateCaption");
        widget.setAppearanceCharacteristics(fieldAppearance);

        widget.setPrinted(true);

        try {
            page.getAnnotations().add(widget);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }




Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message