Skip to content

Instantly share code, notes, and snippets.

@geo-stanciu
Created March 16, 2018 09:49
Show Gist options
  • Select an option

  • Save geo-stanciu/c68a01bc878e1fedc44ad9559ff0fc43 to your computer and use it in GitHub Desktop.

Select an option

Save geo-stanciu/c68a01bc878e1fedc44ad9559ff0fc43 to your computer and use it in GitHub Desktop.
Java - Crystal Reports
# CRConfig.xml
<?xml version="1.0" encoding="utf-8"?>
<CrystalReportEngine-configuration>
<!-- <reportlocation>/reports</reportlocation> -->
<timeout>10</timeout>
<keycode>MyLicenseKeyCodeHere</keycode>
</CrystalReportEngine-configuration>
# log4j.properties
log4j.appender.jpeAppender=org.apache.log4j.RollingFileAppender
log4j.appender.jpeAppender.file=logs/jpe.log
log4j.appender.jpeAppender.ImmediateFlush=false
# number of log files to keep before deleting the oldest one
log4j.appender.jpeAppender.MaxBackupIndex=30
log4j.appender.jpeAppender.MaxFileSize=5MB
# Log message layout: date-time priority category - message lineTerminator
log4j.appender.jpeAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.jpeAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} [%t] %-5p %c - %m%n
# log4j.rootLogger=ERROR
# Covers all of the reporting engine
log4j.logger.com.crystaldecisions.reports=ERROR, jpeAppender
log4j.logger.com.crystaldecisions.threedg=ERROR, jpeAppender
log4j.logger.com.crystaldecisions.common=ERROR, jpeAppender
# open report
import com.crystaldecisions.report.web.viewer.CrystalReportViewer;
import com.crystaldecisions.reports.sdk.*;
import com.crystaldecisions.sdk.occa.report.exportoptions.ReportExportFormat;
import com.crystaldecisions.sdk.occa.report.lib.*;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
ReportClientDocument reportClientDoc = new ReportClientDocument();
reportClientDoc.open("reports/FoaieClienti.rpt", 0);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table");
reportClientDoc.getDatabaseController().setDataSource(rs, "", "");
ByteArrayInputStream in = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
reportClientDoc.close();
FileOutputStream out = new FileOutputStream (new File("myFile.pdf"));
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
rs.close();
stmt.close();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment