It seems that the
code that encrypted it reads the PDF file right-side up, but retains the
rotation value of the old PDF file. Here’s the code if you would like to
look. It just seems so odd to me too:
/*
* $Id:
Encrypt.java,v 1.3 2002/02/28 09:08:58 blowagie Exp $
* $Name:
$
*
* This code is
free software. It may only be copied or modified
* if you
include the following copyright notice:
*
* -->
Copyright 2002 by Bruno Lowagie <--
*
* This code is
part of the 'iText Tutorial'.
* You can find
the complete tutorial at the following address:
*
http://www.lowagie.com/iText/tutorial/
*
* This code is
distributed in the hope that it will be useful,
* but WITHOUT
ANY WARRANTY; without even the implied warranty of
*
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*
[EMAIL PROTECTED]
*/
import
java.io.*;
import
com.lowagie.text.*;
import
com.lowagie.text.pdf.*;
public class Encrypt
extends java.lang.Object {
/**
* @param args the command line arguments
*/
public static void main (String args[]) {
if (args.length != 3) {
System.err.println("This tools needs 3 parameters:\njava Encrypt srcfile
destfile password");
}
else {
try {
// we create a reader for a certain document
PdfReader reader = new PdfReader(args[0]);
// we retrieve the total number of pages
int n = reader.getNumberOfPages();
System.out.println("There are " + n + " pages in the original
file.");
// step 1: creation of a document-object
Document
document = new Document(reader.getPageSizeWithRotation(1));
// step 2: we create a writer that listens to the document
PdfWriter writer = PdfWriter.getInstance(document, new
FileOutputStream(args[1]));
writer.setEncryption(PdfWriter.STRENGTH128BITS, args[2], null,
PdfWriter.AllowPrinting);
// step 3: we open the document
document.open();
PdfContentByte cb = writer.getDirectContent();
PdfImportedPage
page;
int rotation;
int i = 0;
// step 4: we add content
while (i < n) {
i++;
document.setPageSize(reader.getPageSizeWithRotation(i));
document.newPage();
page = writer.getImportedPage(reader, i);
rotation = reader.getPageRotation(i);
if (rotation == 90 || rotation == 270) {
cb.addTemplate(page, 0, -1f, 1f, 0, 0,
reader.getPageSizeWithRotation(i).height());
}
else {
cb.addTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
System.out.println("Processed page " + i);
}
// step 5: we close the document
document.close();
}
catch(Exception e) {
System.err.println(e.getClass().getName() + ": " +
e.getMessage());
}
}
}
}
-----Original
Message-----
From: Paulo
Soares [mailto:[EMAIL PROTECTED]
Sent: Wednesday, March 24, 2004 7:23
PM
To: Vicencio, Wilbert V.;
[EMAIL PROTECTED]
Subject: RE: [iText-questions] Encrypting
PDFs makes the encrypted version upside down.
Upside-down? This is
a novelty! I would like to see the pdf and the program used to encrypt
it.
Best
Regards,
Paulo
Soares
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Wednesday, March 24, 2004 5:50
AM
To:
[EMAIL PROTECTED]
Subject: [iText-questions] Encrypting
PDFs makes the encrypted version upside down.
I have a problem encrypting
PDFs. It creates the encrypted PDF upside down. Is this a bug
with iText? The PDF was created with the version 1.2
specification.
This
message is for the designated recipient only and may contain privileged,
proprietary, or otherwise private information. If you have received it in
error, please notify the sender immediately and delete the original. Any
other use of the email by you is prohibited.
This message is for the designated recipient only and may contain
privileged, proprietary, or otherwise private information. If you have
received it in error, please notify the sender immediately and delete the
original. Any other use of the email by you is prohibited.