Done in https://issues.apache.org/jira/browse/PDFBOX-3929

Tilman

Am 08.09.2017 um 21:51 schrieb Tilman Hausherr:
Ok, I got it:
PDBorderStyleDictionary.setWidth() doesn't work at all in your example because Adobe secretly wants integer numbers.

However... in the AddAnnotations example, it is possible to use float numbers and the effect is different (6 and 6.5) when displaying with Adobe Reader.

So maybe the effect is only with widget annotations (which are used for Acroform).

So I don't know what to do for now. You can either set the style directly, or set a border array instead of the /BS. Maybe this should be reported to Adobe. Or we should identify float numbers, and then set an integer. Or include a warning in the javadoc. Or all of the above... https://stackoverflow.com/questions/4727569/how-to-check-whether-input-value-is-integer-or-float https://stackoverflow.com/questions/5502548/checking-if-a-number-is-an-integer-in-java

Tilman


Am 07.09.2017 um 16:16 schrieb Gary Grosso:
Very sorry, I see that was confusing as heck. I must have overstayed my caffeine.

I'm calling setQ with 0, 1, or 2 for now. End of subject.


New subject: PDBorderStyleDictionary.setWidth()

It seems this produces output like http://aapro.net/PDF/BorderWeightTest.pdf but I need it to produce output like http://aapro.net/PDF/BorderWeightTestAcrobat.pdf in order for Acrobat/Reader to display different border thicknesses.

I'm doing the following which makes Adobe products happy:

     private static void setBorderWeight(PDBorderStyleDictionary borderStyle, String string) {
         int wt;
         try {
                 wt = Integer.parseInt(string);
         } catch (NumberFormatException exc) {
                 wt = 1;
         }
         COSDictionary dict = borderStyle.getCOSObject();
         dict.setInt("W", wt);
         //borderStyle.setWidth(wt);
     }

Hopefully I'm making sense this time.


Thanks,
Gary



-----Original Message-----
From: Tilman Hausherr [mailto:[email protected]]
Sent: Thursday, September 7, 2017 2:29 AM
To: [email protected]
Subject: Re: QUADDING constants

???

Is this about width or about Q ?

Tilman

Am 06.09.2017 um 22:42 schrieb Gary Grosso:
I can call PDBorderStyleDictionary.setWidth with 0, 1, or 2, for now, but it looks to me like setWidth() sets the COSObject to a float, e.g., 0.0, 1.0, etc., which Acrobat XI and Reader DC ignore. It should be set to an integer.

See http://aapro.net/PDF/BorderWeightTestAcrobat.pdf vs aapro.net/PDF/BorderWeightTest.pdf.

The BorderWeightTestAcrobat.pdf was created by opening BorderWeightTest.pdf in Acrobat, setting the borders, and saving.

It's a little awkward, since setWidth should really take an int argument, not a float to begin with. The PDF spec, to my reading, is looking for an integer number of points. So truly fixing it would break any applications trying to pass in a float. OTOH, I don't see how any such applications could be working, even though they'd compile. I suppose non-Adobe PDF renderers might work with float data.

Gary

-----Original Message-----
From: Tilman Hausherr [mailto:[email protected]]
Sent: Wednesday, September 6, 2017 12:48 PM
To: [email protected]
Subject: Re: QUADDING constants

Am 06.09.2017 um 17:11 schrieb Gary Grosso:
Thanks Tilman, I thought they were public but not visible, which was disturbing my fragile sense of competency.
I first thought you were using Netbeans (which requires to press CTRL SPACE twice to see the statics sometimes) but then I saw the missing public. I'll create an issue later tonight or tomorrow (unless you do) to put it back in. I don't see a reason why this was removed.

Tilman


-----Original Message-----
From: Tilman Hausherr [mailto:[email protected]]
Sent: Wednesday, September 6, 2017 11:03 AM
To: [email protected]
Subject: Re: QUADDING constants

Am 06.09.2017 um 16:54 schrieb Gary Grosso:
Sigh. This must be something about Java I need to understand better. I get "The field PDVariableText.QUADDING_LEFT is not visible".
You're right... these are not public. That explains why google found it only for an older version.

Tilman


-----Original Message-----
From: Tilman Hausherr [mailto:[email protected]]
Sent: Wednesday, September 6, 2017 2:13 AM
To: [email protected]
Subject: Re: QUADDING constants

Am 06.09.2017 um 02:42 schrieb Gary Grosso:
PDVariableText.setQ (and various other methods) suggest seeing the "QUADDING constants".

Can someone please post a link? Or tell me what class to look at? I've searched, googled, etc., for close to a half hour. I suspect this is something that everyone "just knows" but I have to admit ignorance.
It's also mentioned in the PDF 32000 specification:

A code specifying the form of quadding (justification) that shall be used in displaying the annotation's text:
0 Left-justified
1 Centered
2 Right-justified
Default value: 0 (left-justified).

And then I enter "PDVariableText quadding" (without quotes) in google I find the constants that Andreas mentioned, although for an older version. If you don't get these, check if some plugin manipulated your browser's search results.

Tilman


--------------------------------------------------------------------
- To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


--------------------------------------------------------------------
- To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to