Skip to main content
Participating Frequently
January 16, 2007
Question

Itext Problem

  • January 16, 2007
  • 13 replies
  • 2691 views
I get the following problem when trying to use the refactored iText 1.4.6.

Class coldfusion.runtime.java.JavaProxy can not access a member of class com.lowagie.textNew.pdf.PdfWriter with modifiers "protected"

Im trying to call the following function.
pdfWriter.setViewerPreferences(PdfWriter.HideToolbar);

Is there anyway around this?
This topic has been closed for replies.

13 replies

Inspiring
April 5, 2007
sorry to take so long, been a bit busy.

the "|" char is java syntax for bit ORed. so to cobble together different
permissions that you want to negate you might do something like:

pdfPermissions=bitOr(pdfCopy.ALLOWPRINTING,pdfCopy.ALLOWCOPY);
// don't allow any of the pdfPermissions
pdfCopy.setEncryption(pdfCopy.STRENGTH128BITS,"",passwd,bitNot(pdfPermissions));

if there's more than two permissions you need then maybe:

pdfPermissions=bitOr(pdfPermissions,pdfCopy.ALLOWMODIFYCONTENTS);
pdfPermissions=bitOr(pdfPermissions,pdfCopy.ALLOWASSEMBLY);
.
.
.
etc.


Known Participant
April 3, 2007
I use Coldfusion 7.0.2 with the itext that came with it.
My code (99% based on yours :-) :

if (i EQ 1) {
pdfDocument.init(reader.getPageSizeWithRotation(1));
pdfCopy.init(pdfDocument, newPDF);
// make sure we turn off printing or modifying or ... BEFORE we open the new PDF
passwd = createuuid() ;
pdfCopy.setEncryption( pdfCopy.STRENGTH128BITS, "", passwd, bitNot(pdfCopy.AllowModifyContents)
);

pdfDocument.open();
} // first file in list?

If I replace "bitNot(pdfCopy.AllowModifyContents)" by "pdfCopy.AllowScreenReaders | pdfCopy.AllowCopy | pdfCopy.AllowPrinting". I have the following error : "Invalid token '|' found on line 310 at column 100."
Inspiring
April 2, 2007
obouillaud wrote:
> The docs said that it's possible to concatenate multpiles "AllowXXX" using |
> (pipe) but it does not work !

what ver of iText? show your code.
Known Participant
April 2, 2007
ok it works for me, but just for one parameter a the same tilme.
pdfCopy.setEncryption(pdfCopy.STRENGTH128BITS,"","123456789",bitNot(pdfCopy.AllowModifyContents));

if I repeat this line with different attributes (AllowPrinting...) it's not working

The docs said that it's possible to concatenate multpiles "AllowXXX" using | (pipe) but it does not work !

I want to do the following thing :
no password for reading
a password for editing
without password, you can read & print the PDF, but nothing else (not removing a page, not edit text, ...)

How can I do ?
Inspiring
February 20, 2007
Has anyone got into a problem generating very large pdf files. Our process kills the jrun once the pdf file generated is larger than 14mb?

Thanks
iborsbAuthor
Participating Frequently
February 1, 2007
Thanks Paul....
Inspiring
January 26, 2007
iborsb wrote:
> I get the following error
>
> The selected method setEncryption was not found

post enough of your code to see what's going on.
iborsbAuthor
Participating Frequently
January 26, 2007
Here is the code.

Its a copy of the concatenate pdf code from a previous post - as this removes all the security I need to add it back on.
iborsbAuthor
Participating Frequently
January 26, 2007
I get the following error

The selected method setEncryption was not found

I'm using a itext 1.4.6.
Inspiring
January 25, 2007
iborsb wrote:
> Is that even close? Currently, I get an AllowPrinting is undefined error.


AllowPrinting is a user permission *field* in PdfWriter. if you have initialized
a PdfWriter class then you can do PdfWriterObjectName.ALLOWPRINTING or simply
javacast on it's value, 2052.

newPDF=pdfStamper.setEncryption('','',javaCast("int",2052),0);

if i can offer some advice, grab a copy of bruno's book if you plan on doing
much w/Itext. very good value.
iborsbAuthor
Participating Frequently
January 25, 2007
Hi Paul

I've come up with the following
newPDF=createObject("java","java.io.FileOutputStream").init(expandPath(finalOutPutFile));
pdfStamper=createObject("java","com.lowagie.textNew.pdf.PdfStamper");
newPDF=pdfStamper.setEncryption('','',AllowPrinting,0);

Is that even close? Currently, I get an AllowPrinting is undefined error.

The notes suggest that the command should accept an int and yet the options inlude allowprinting etc..