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]

Reply via email to