iText does and why it must do it. You may post your questions in the iText
>
> Thanks Paulo, but that is what I mean. iText applies the permissions
> password automatically if the permissions password is not provided by the
> PDF creator, as is done in Acrobat. I find nothing that states that this
> needs to be the case. Only the reader of the document needs to respect
> the
> permissions and passwords (no cracking).
>
> You are correct, I will need to contact Adobe Legal, maybe they will
> respond
> in 9 months or so. :-)
>
> I assume you need a password (owner or user) for a document to be
> encrypted?
> The ideal is to have a password protected, non-encrypted document. The
> reason is that we have run across a piece of software that when a user
> trys
> to forward an email with one of our PDFs (encrypted/permission password
> protected), the email security tries to encrypt the email, but this fails
> becuase of the encrypted PDF. Just trying to get around that.
>
> Thanks Paulo for all that you do.
>
> Kevin
>
>
>
> Paulo Soares-3 wrote:
>>
>> The text applies to PDFs that are read. If you are producing docs you may
>> or may not apply restrictions. You should probably contact Adobe's legal
>> department about this if you still have doubts.
>>
>> Paulo
>>
>>> -----Original Message-----
>>> From: IT_Hank [mailto:
KHendricks@...]
>>> Sent: Friday, June 26, 2009 3:50 PM
>>> To:
itextsharp-questions@...
>>> Subject: Re: [itextsharp-questions] 128-bit encryption, no
>>> owner password
>>>
>>>
>>> Hi Paulo, sorry to beat this to death, but I still couldn't find the
>>> referenced text in the latest PDF reference.
>>>
>>> From your message, it seems to be indicating that developers
>>> of software
>>> like PDF readers should respect the passwords and encryptions
>>> of the PDF
>>> documents that they are reading. I don't see how this applys
>>> to iText and
>>> why iText should be required to automatically set the
>>> permissions password
>>> on generated PDF documents seeing these documents are being
>>> created and not
>>> consumed. And if it is the wish of the PDF authour not to
>>> set a permissions
>>> password, then consumers of that PDF will need to respect
>>> that as well.
>>>
>>> Thank you.
>>>
>>> Kevin
>>>
>>> IT_Hank wrote:
>>> >
>>> > Thanks Paulo for the information.
>>> >
>>> > -----Original Message-----
>>> > From: Paulo Soares [mailto:
psoares@...]
>>> > Sent: Saturday, June 13, 2009 4:41 AM
>>> > To: Post all your questions about iTextSharp here
>>> > Subject: Re: [itextsharp-questions] 128-bit encryption, no
>>> owner password
>>> >
>>> > From the PDF reference:
>>> >
>>> > Authors of software that accepts input in the form of the Portable
>>> > Document
>>> > Format must make reasonable efforts to ensure that the software they
>>> > create
>>> > respects
>>> > the access permissions and permissions controls listed in
>>> Table 3.20 of
>>> > this specification, to the extent that they are used in any
>>> particular
>>> > document.
>>> > These access permissions express the rights that the
>>> document's author has
>>> > granted to users of the document. It is the responsibility
>>> of Portable
>>> > Document
>>> > Format consumer software to respect the author's intent.
>>> >
>>> > Paulo
>>> >
>>> > ----- Original Message -----
>>> > From: "IT_Hank" <
KHendricks@...>
>>> > To: <
itextsharp-questions@...>
>>> > Sent: Friday, June 12, 2009 10:39 PM
>>> > Subject: Re: [itextsharp-questions] 128-bit encryption, no
>>> owner password
>>> >
>>> >
>>> >>
>>> >> Hello Paulo,
>>> >>
>>> >> I have been looking on the Adobe site for the license that
>>> indicates that
>>> >> a
>>> >> owner password is required on a PDF document ("legal
>>> imposition). I was
>>> >> wondering if you could point me to the correct license
>>> agreement that
>>> >> includes this text. I need to pass this on to our
>>> business leaders.
>>> >>
>>> >> Thank you,
>>> >>
>>> >> Kevin
>>> >>
>>> >>
>>> >> Paulo Soares wrote:
>>> >>>
>>> >>> That's a legal imposition from Adobe. You must have the
>>> owner password.
>>> >>>
>>> >>> Paulo
>>> >>>
>>> >>>> -----Original Message-----
>>> >>>> From:
itextsharp-questions-bounces@...
>>> >>>> [mailto:
itextsharp-questions-bounces@...]
>>> >>>> On Behalf Of IT_Hank
>>> >>>> Sent: Tuesday, May 13, 2008 4:00 PM
>>> >>>> To:
itextsharp-questions@...
>>> >>>> Subject: [itextsharp-questions] 128-bit encryption, no
>>> owner password
>>> >>>>
>>> >>>>
>>> >>>> We have an application that is creating a 128-bit encrypted
>>> >>>> PDF without user
>>> >>>> or owner passwords. When performing a PdfCopy.GetImportPage
>>> >>>> method call,
>>> >>>> the GetImportPage method fails in version 4.1.1.0. This
>>> >>>> worked in version
>>> >>>> 3.1.6.0.
>>> >>>>
>>> >>>> The error might stem from the following:
>>> >>>>
>>> >>>> //this is the error being thrown because false is being
>>> returend from
>>> >>>> "IsOpenedWillFullPermissions".
>>> >>>>
>>> >>>> internal PdfImportedPage GetImportedPage(int
>>> pageNumber) {
>>> >>>> if (!reader.IsOpenedWithFullPermissions)
>>> >>>> throw new ArgumentException("PdfReader not
>>> >>>> opened with owner
>>> >>>> password");
>>> >>>>
>>> >>>> //this method returns false if encrypted and no password
>>> is supplied.
>>> >>>>
>>> >>>> public bool IsOpenedWithFullPermissions {
>>> >>>> get {
>>> >>>> return !encrypted || ownerPasswordUsed;
>>> >>>> }
>>> >>>> }
>>> >>>>
>>> >>>> //this is the calling code
>>> >>>> Snippet one...
>>> >>>> if (reportGuid != Guid.Empty)
>>> >>>> {
>>> >>>> SQLFileInfo inputInfo = new SQLFileInfo(reportGuid);
>>> >>>> using (SQLFileStream inputStream =
>>> >>>> inputInfo.Open(System.IO.FileMode.Open))
>>> >>>> {
>>> >>>> reader = new PdfReader(inputStream, null);
>>> >>>> if (copy == null)
>>> >>>> {
>>> >>>> doc = new
>>> Document(reader.GetPageSizeWithRotation(1));
>>> >>>> copy = new PdfCopy(doc, outputStream);
>>> >>>> doc.Open();
>>> >>>> }
>>> >>>> //copy the pages
>>> >>>> CopyPages(copy, reader);
>>> >>>> }
>>> >>>> }
>>> >>>>
>>> >>>> Snippet two...
>>> >>>> private void CopyPages(PdfCopy copy, PdfReader reader)
>>> >>>> {
>>> >>>> for (int i = 1; i <= reader.NumberOfPages; i++)
>>> >>>> {
>>> >>>> //This is where the error happens
>>> >>>> copy.AddPage(copy.GetImportedPage(reader, i));
>>> >>>> }
>>> >>>> }