{
//ByteArrayOutputStream baos = new ByteArrayOutputStream();
document =
new Document(
new Rectangle(
jasperPrint.getPageWidth(),
jasperPrint.getPageHeight()
)
);
imageTesterDocument =
new Document(
new Rectangle(
10, //jasperPrint.getPageWidth(),
10 //jasperPrint.getPageHeight()
)
);
boolean closeDocuments = true;
try
{
pdfWriter = PdfWriter.getInstance(document, os);
pdfWriter.setCloseStream(false);
tagHelper.setPdfWriter(pdfWriter);
if (pdfVersion != null)
{
pdfWriter.setPdfVersion(pdfVersion.charValue());
}
if (isCompressed)
{
pdfWriter.setFullCompression();
}
if (isEncrypted)
{
pdfWriter.setEncryption(
is128BitKey,
userPassword,
ownerPassword,
permissions
);
}
pdfWriter.setRgbTransparencyBlending(true);
if (printScaling != null)
{
if (JRPdfExporterParameter.PRINT_SCALING_DEFAULT.equals(printScaling))
{
pdfWriter.addViewerPreference(PdfName.PRINTSCALING, PdfName.APPDEFAULT);
}
else if (JRPdfExporterParameter.PRINT_SCALING_NONE.equals(printScaling))
{
pdfWriter.addViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
}
}
// Add meta-data parameters to generated PDF document
// mtclough@users.sourceforge.net 2005-12-05
String title = (String)parameters.get(JRPdfExporterParameter.METADATA_TITLE);
if( title != null )
{
document.addTitle(title);
}
String author = (String)parameters.get(JRPdfExporterParameter.METADATA_AUTHOR);
if( author != null )
{
document.addAuthor(author);
}
String subject = (String)parameters.get(JRPdfExporterParameter.METADATA_SUBJECT);
if( subject != null )
{
document.addSubject(subject);
}
String keywords = (String)parameters.get(JRPdfExporterParameter.METADATA_KEYWORDS);
if( keywords != null )
{
document.addKeywords(keywords);
}
String creator = (String)parameters.get(JRPdfExporterParameter.METADATA_CREATOR);
if( creator != null )
{
document.addCreator(creator);
}
else
{
document.addCreator("JasperReports (" + jasperPrint.getName() + ")");
}
document.open();
if(pdfJavaScript != null)
{
pdfWriter.addJavaScript(pdfJavaScript);
}
pdfContentByte = pdfWriter.getDirectContent();
tagHelper.init(pdfContentByte);
initBookmarks();
PdfWriter imageTesterPdfWriter =
PdfWriter.getInstance(
imageTesterDocument,
new NullOutputStream() // discard the output
);
imageTesterDocument.open();
imageTesterDocument.newPage();
imageTesterPdfContentByte = imageTesterPdfWriter.getDirectContent();
imageTesterPdfContentByte.setLiteral("\n");
for(reportIndex = 0; reportIndex < jasperPrintList.size(); reportIndex++)
{
setJasperPrint((JasperPrint)jasperPrintList.get(reportIndex));
loadedImagesMap = new HashMap();
Rectangle pageSize;
switch (jasperPrint.getOrientationValue())
{
case LANDSCAPE:
// using rotate to indicate landscape page
pageSize = new Rectangle(jasperPrint.getPageHeight(),
jasperPrint.getPageWidth()).rotate();
break;
default:
pageSize = new Rectangle(jasperPrint.getPageWidth(),
jasperPrint.getPageHeight());
break;
}
document.setPageSize(pageSize);