Pure Java API to generate/transform linearized PDFs?

I found some tools on the net to linearize PDF documents. But all use JNI to call some native library (DLL). Is there also a pure Java solution to linearize PDFs?

Martin,
Could you pass on the info on solutions you mentioned on java/jni PDF linearization? Iv'e used the pdfopt script based on ghostscript to linearize iText-created pdf files with jpg images. However, pdfopt applied to pdf files with jpeg-2000 images are not properly linearized for a reason I've not tracked down yet. We're building pdf formats for scanned books as part of the openlibrary.org project at the Internet Archive "open source books" project.
In fact, any free/open source solution for pdf linearization for linux would be very useful, even if not java-based.
Regards,
Todd

Similar Messages

  • Looking for pure Java API to read metadata from an MP4 file.

    Hi, I am looking for a pure Java api that can read MP4 metadata. I have been trying to look online for one but have not found anything
    suitable. If there are no good api's, can someone point me to resources on how to parse metadata from an MP4, tutorials would be great
    as well. I have looked online for that as well but have not found much. Any help would be greatly appreciated.

    Cross posted
    http://www.java-forums.org/new-java/59652-looking-pure-java-api-read-metadata-mp4-file.html
    http://www.coderanch.com/t/580833/Streams/java/Looking-pure-Java-API-read
    http://stackoverflow.com/questions/10568588/looking-for-pure-java-api-to-read-metadata-from-an-mp4-file
    db

  • Java API or Web Service for PDF generator for PostScript?

    Hello Guys,
    We acquired the evaluation version of the LiveCycle PDF generator for PostScript software and are in the process of acquiring information regarding the web-service / java api option but we can't seem to find extensive documentation or sample code.
    The provided documentation gives some information on the different methods that can be used for web service but nothing extensive on how to use them properly in context. The documentation mentions java code samples on the developer ressource but I can't seem to get my hands on anything useful.
    I looked around for quite some time on the developer ressource site but I must say it is not very easy to use. We are buried under a ton of useless information and the search functionality doesn't seem to yield interresting results.
    Are we missing something obvious?
    Regards
    Jeff Michaud

    Hi Jeff, I am in the exact same situation... I've been trying to find a document, just an overall user guide for the tool... nothing.
    Even on the phone no one was able to answer me where that doc was. Does it exist?
    Has anyone found a doc containing the information describing the APIs and on how to use the Web Services? Jeff, did you find something usefull yet?
    Thanks!
    Pierre-Yves

  • BI Publisher Java API not displaying Barcode in PDF Report

    Hi Team,
    I have used BI Publisher java API in my ADF Application to generate PDF reports. It is not displaying barcodes in the PDF Reports. I have included Code 39 ttf file in my java home as well. Please let me know if any other configuration needs to be done.
    I am using jdev version 11.1.2.0.0. Please help me out if anyone knows the solution to this problem.
    Thanks in advance,
    Kavitha

    {forum:id=245} is the BIP forum.

  • Is there a JAVA API to generate out reports yet?

    I've read all the forum information regarding a java api not being available yet. They are dated back in 2004. Is there still not one available? I need to be able to generate reports that were created with Oracle reports, but do it from a Java Application. I need some way to be able to access these reports. Is there a solution out there yet?

    You can execute reports through the reports server through a database package called SRW which is nothing more than a HTTP request.
    If you have a java program which can make a HTTP call you are in business.
    Look at the event driven API called SRW.
    Marcos

  • Oracle BI Publisher Java API Converting Excel(.xls) to PDF

    Dear Oracle Team,
    I'm suffering from converting Excel(.xls) to PDF file which Excel is having some complex Pie charts and formulas.
    I've worked on some APIs but not converting properly, Please suggest me any Java API's in Oracle BI Publisher and provide me some code snippet
    Thanks in advance

    Hi,
    Can any one please reply to my post

  • Thrid party java API for exporting rpt to PDF

    Hi all,
      We have come accross a limitation of RAS in exporting a large report with subreports and images to PDF.  This can take up to 20 minutes.  We have looked at optimizing the templates and have opened multiple tickets with SAP but for various reasons have not been able to get this corrected.
    I understand there is a 3rd party that has developed a Java library to export to PDF without using RAS.  Is anyone familiar with this?
    I appreciate any information.
    Thanks,
    James

    James,
        I beleive the cystal reports cache/page server combo can also be used to export to PDFwithout touching the RAS services.  We use the below class to do our exporting and it seems to work well, but our reports are relativly small.
    com.crystaldecisions.report.web.viewer.ReportExportControl

  • Process with RenderPDFForm using Java API not generating output file

    I have a short-lived process that renders a PDF/HTML form based on input parameters. It also takes a .xdp file as input. This works just fine from with
    in Workbench (9.0). I have created a Java client to invoke this process. When I invoke the process from the Java Client,
    it is not creating the output file. When I look at the invocation response, I see the output parameter (output file) name, but it is null.
    Here is my code.
    Properties connectionProps =
    new Properties(); 
    connectionProps.setProperty(
    "DSC_DEFAULT_SOAP_ENDPOINT", "http://hostname:8080");connectionProps.setProperty(
    "DSC_TRANSPORT_PROTOCOL","SOAP"); 
    connectionProps.setProperty(
    "DSC_SERVER_TYPE", "JBoss"); 
    connectionProps.setProperty(
    "DSC_CREDENTIAL_USERNAME", "username"); 
    connectionProps.setProperty(
    "DSC_CREDENTIAL_PASSWORD", "password"); 
    //Create a ServiceClientFactory object
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
    //Create a ServiceClient object
    ServiceClient myServiceClient = myFactory.getServiceClient();
    //Create a Map object to store the parameter value
    Map params =
    new HashMap();
    File file =new File("C:/test1/test.xdp");File ofile =
    new File("C:/TestProcess.pdf"); 
    //String formName = "RD410-4.xdp";
    InputStream inFile =new FileInputStream(file);OutputStream oFileStream =
    new FileOutputStream(ofile); 
    byte[] cData = "".getBytes(); 
    Document inputData =
    new Document(inFile); 
    // Document outputData = new Document(oFileStream);
    inputData.passivate();
    params.put("Form", inputData);params.put(
    "FormId", "12");params.put(
    "RevId", "12");params.put(
    "OutputType", "PDF");params.put(
    "targetSubmission", "http://localhost:8090/LCWebProject/HandleData");params.put(
    "param1",1);
    InvocationRequest invokeRequest = myFactory.createInvocationRequest(
    "MyApplication10/Processes/RenderForm", //Specify the short-lived process name
    "invoke", //Specify the operation name
    params,
    //Specify input values
    true); //Create a synchronous request
    InvocationResponse invokeresponse = myServiceClient.invoke(invokeRequest);
    Document encryptDoc = (Document) invokeresponse.getOutputParameter("outputFile"); 
    //Save the encrypted PDF document returned by the process
     //Save the password-encrypted PDF document
    File outFile =new File("C:\\test1.pdf");encryptDoc.copyToFile (outFile);
    I see the output parameter "outputFile" in the invokeresponse object. But it is null.
    Can anyone guide me in the right direction ?
    Thanks,
    Jyothi

    I am not giving the solution, providing you a hint..
    This is the query you need to satisfy,
    SELECT NVL(R.DESCRIPTION ,CP.USER_CONCURRENT_PROGRAM_NAME)
    FROM FND_CONCURRENT_REQUESTS R, FND_CONCURRENT_PROGRAMS_VL CP,XDO_DS_DEFINITIONS_B XDS
    WHERE ( ( FND_PROFILE.VALUE('CONC_REPORT_ACCESS_LEVEL') = 'U'
    AND R.REQUESTED_BY = :$PROFILES$.USER_ID ) or
    ( FND_PROFILE.VALUE('CONC_REPORT_ACCESS_LEVEL') = 'R'
    AND R.RESPONSIBILITY_ID = :$PROFILES$.RESP_ID ) )
    AND R.PROGRAM_APPLICATION_ID = CP.APPLICATION_ID
    AND R.CONCURRENT_PROGRAM_ID = CP.CONCURRENT_PROGRAM_ID
    AND XDS.APPLICATION_SHORT_NAME=
    ( SELECT APPLICATION_SHORT_NAME
    FROM FND_APPLICATION
    WHERE APPLICATION_ID=CP.APPLICATION_ID)
    AND XDS.DATA_SOURCE_CODE = CP.CONCURRENT_PROGRAM_NAME
    AND R.OUTPUT_FILE_TYPE='XML'
    AND R.STATUS_CODE not in ('E', 'D', 'T', 'X')
    ORDER BY R.REQUEST_ID DESC
    Go to system profiles and query for 'Concurrent:Report Access Level', responsibility you need and modify the profile name accordingly....

  • Cannot generate chart in PDF using BI Publisher

    I have a java program to generate chart in PDF using BI publisher. In some platforms the chart cannot be generated. Get the following exception.
    [061812_075947838][][ERROR] java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.apps.xdo.template.rtf.img.RTFChartUtil.invokeMethod(Unknown Source)
    at oracle.apps.xdo.template.rtf.img.RTFChartUtil.generateChartAsBase64(Unknown Source)
    at oracle.apps.xdo.template.rtf.XSLTFunctions.chart_svg(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.xdo.parser.v2.XSLExtFunctions.callStaticMethod(XSLExtFunctions.java:111)
    at oracle.xdo.parser.v2.XPathExtFunction.evaluateMethod(XPathExtFunction.java:307)
    at oracle.xdo.parser.v2.XPathExtFunction.evaluate(XPathExtFunction.java:226)
    at oracle.xdo.parser.v2.XSLValueOf.processAction(XSLValueOf.java:101)
    at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
    at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
    at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
    at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
    at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
    at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
    at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
    at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
    at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
    at oracle.xdo.parser.v2.XSLTemplate.processAction(XSLTemplate.java:191)
    at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:512)
    at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
    at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
    at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
    at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
    at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
    at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
    at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
    at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
    at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
    at com.edocs.common.reporting.batch.BatchEventHandler.generatePDFFile(BatchEventHandler.java:327)
    at com.edocs.common.reporting.batch.BatchEventHandler.processBatchRequest(BatchEventHandler.java:252)
    at com.edocs.common.reporting.batch.BatchEventHandler.service(BatchEventHandler.java:136)
    at com.edocs.common.reporting.tasks.batchprocessor.BatchReportProcessorTask.executeInternal(BatchReportProcessorTask.java:126)
    at com.edocs.common.reporting.tasks.batchprocessor.BatchReportProcessorTask.doProcessTask(BatchReportProcessorTask.java:46)
    at com.edocs.pwc.tasks.CommonTask.processTask(CommonTask.java:166)
    at com.edocs.common.reporting.tasks.batchprocessor.BatchReportProcessorTask_9qwgr6_EOImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at com.edocs.common.reporting.tasks.batchprocessor.BatchReportProcessorTask_9qwgr6_EOImpl.processTask(Unknown Source)
    at com.edocs.common.reporting.tasks.batchprocessor.BatchReportProcessorTask_9qwgr6_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.activation.ActivatableServerRef.invoke(ActivatableServerRef.java:85)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NoSuchMethodError: oracle.dss.util.CustomStyle.<init>(Ljava/io/InputStream;)V
    at oracle.dss.graph.CommonGraph.setStyleStream(CommonGraph.java:10774)
    at oracle.dss.graph.CommonGraph.setStylePath(CommonGraph.java:10743)
    at oracle.dss.graph.CommonGraph.setStylePathXML(CommonGraph.java:12138)
    at oracle.dss.graph.CommonGraph.setXML(CommonGraph.java:13348)
    at oracle.dss.graph.CommonGraph._setXML(CommonGraph.java:15821)
    at oracle.dss.graph.CommonGraph.setXML(CommonGraph.java:14751)
    at oracle.dss.graph.Graph.setXML(Graph.java:5243)
    ... 60 more
    In office word bi publisher plugin, load the xml, the chart can be generated.
    The above exception only occurs in some linux and solaris platforms, but never occurs in windows.
    The following plateform throws exception.
    Oracle Linux Server release 5.6 + java version "1.6.0_25"
    The following plateform doesn't throw exception.
    Enterprise Linux Enterprise Linux Server release 5.4 (Carthage) + java version "1.6.0_05"
    The strange thing is in those platforms which can throw exception, if the code is not running in EJB, the chart still can be generated.
    In other words, if the normal web or standalone app invokes that program; the chart can be generated.
    The java code is as below.
         public static void generate(String inputXML, String pdfTempPath, String outputPDF) {
              Reader reader = null;
              try {
                   File xmlFile = new File(inputXML);
         reader = new BufferedReader(new InputStreamReader(new FileInputStream(xmlFile), "UTF-8"));               
              ByteArrayOutputStream tmpXSL = new ByteArrayOutputStream();           
              RTFProcessor rtfProcessor = new RTFProcessor(pdfTempPath);
                   rtfProcessor.setOutput(tmpXSL);
                   rtfProcessor.process();           
              ByteArrayInputStream in = new ByteArrayInputStream(tmpXSL.toByteArray());
              FOProcessor processor = new FOProcessor();
              processor.setData(reader);
              processor.setTemplate(in);
              processor.setOutput(outputPDF);
              processor.setOutputFormat(FOProcessor.FORMAT_PDF);           
              processor.generate();
              catch(Exception e) {
                   e.printStackTrace();
              finally {
                   try {
                        if(reader!=null) {
                             reader.close();
                   } catch (Exception e) {
    Can anyone explain why this exception is thrown?
    Thanks a lot.

    Hello Tux Dueñas,
    I think you need to have ACL's setup in Oracle 11g in order to be able to connect to the BI Publisher server. Check the following link on how to setup ACL's in 11g...
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28300/afterup.htm#BABFCBJI
    Thanks,
    Machaan
    Edited by: Machaan on Jan 25, 2011 11:49 AM

  • Human Task Java API

    Hi
    I have a requirement to create human tasks without using soa. I am trying to use the Human task Java API. Using this API I can do all the operations like updating the outcome, adding/updating comments and updating assignee list but not able to create initial task. I am using initiateTask operation which requires task definition id. I dont know how to set this. Can anybody guide me
    1. Can I create human tasks without using composite pure java api?
    2. If I am able to create initial task what will be the task definition id? I tried to enter a new row in soa infra meta data table which did not work.
    I really appreciate the help.
    Thanks

    Hi Sri
    I have few Processes deployed to my SOA Domain and that too under different Partitions. For ease of maintenance, in EM Console under soa_infra node instead of default partition we can have our own Partitions also to deploy specific workflow projects under those partitions. If you don't have this thats ok.
    I looked at Payload data for all the Tasks submitted by the first Initiator Task in EM Console, when we check the Flow Trace etc. Here is what I found for <taskDefinitionId> value for each of my different Processes. They do have some Pattern. So you had to use some sort of properties file to get these values so that if they are deployed to different partitions and with different versions, you do not have to modify your java code and recompile it. Just modify .properties file.
    Anyhow, looks like the format for <taskDefinitionId> is something like this:
    NameOfPartition + "/" + NameOfProcess + "!" + VersionNumber + "/" + NameOfInitiatorHumanTask
    Here are some examples from my domain for some of the Process.
    <taskDefinitionId>default/SalesQuoteProcess!1.0/EnterQuote</taskDefinitionId>
    <taskDefinitionId>Ravi1_Partition/CreditReviewRequestProcess!1.0/HumanTaskCreditRequestor1</taskDefinitionId>
    <taskDefinitionId>Jegga1_Partition/HolidayProcess!1.0/StartNewHolidayTask</taskDefinitionId>
    You already tried hardcoding it I guess and it worked. Now try generating them dynamically using simple String appenders and sort of properties file to make it more dynamic. How often do we really change partition name or human task name itself or name of process itself. They are pretty much fixed. Now comes only the Version number. This can change with your new deployment if you want to have different version. So just read all these from .properties file.
    Thanks
    Ravi Jegga

  • Can I create a cert with the Java API only?

    I'm building a client/server app that will use SSL and client certs for authenticating the client to the server. I'd like for each user to be able to create a keypair and an associated self-signed cert that they can provide to the server through some other means, to be included in the server's trust store.
    I know how to generate a key pair with an associated self-signed cert via keytool, but I'd prefer to do it directly with the Java APIs. From looking at the Javadocs, I can see how to generate a keypair and how to generate a cert object using an encoded representation of the cert ( e.g. java.security.cert.CertificateFactory.generateCertififcate() ).
    But how can I create this encoded representation of the certificate that I need to provide to generateCertificate()? I could do it with keytool and export the cert to a file, but is there no Java API that can accomplish the same thing?
    I want to avoid having the user use keytool. Perhaps I can execute the appropriate keytool command from the java code, using Runtime.exec(), but again a pure java API approach would be better. Is there a way to do this all with Java? If not, is executing keytool via Runtime.exec() the best approach?

    There is no solution available with the JDK. It's rather deficient wrt certificate management, as java.security.cert.CertificateFactory is a factory that only deals in re-treads. That is, it doesn't really create certs. Rather it converts a DER encoded byte stream into a Java Certificate object.
    I found two ways to create a certificate from scratch. The first one is an all Java implementation of what keytool does. The second is to use Runtime.exec(), which you don't want to do.
    1. Use BouncyCastle, a free open source cryptography library that you can find here: http://www.bouncycastle.org/ There are examples in the documentation that show you how to do just about anything you want to do. I chose not to use it, because my need was satisfied with a lighter approach, and I didn't want to add a dependency unnecessarily. Also Bouncy Castle requires you to use a distinct version with each version of the JDK. So if I wanted my app to work with JDK 1.4 or later, I would have to actually create three different versions, each bundled with the version of BouncyCastle that matches the version of the target JDK.
    2. I created my cert by using Runtime.exec() to invoke the keytool program, which you say you don't want to do. This seemed like a hack to me, so I tried to avoid it; but actually I think it was the better choice for me, and I've been happy with how it works. It may have some backward compatibility issues. I tested it on Windows XP and Mac 10.4.9 with JDK 1.6. Some keytool arguments changed with JDK versions, but I think they maintained backward compatibility. I haven't checked it, and I don't know if I'm using the later or earlier version of the keytool arguments.
    Here's my code.
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.security.KeyStore;
    import java.security.KeyStoreException;
    import java.security.NoSuchAlgorithmException;
    import java.security.cert.CertificateException;
    import javax.security.auth.x500.X500Principal;
    import javax.swing.JOptionPane;
    public class CreateCertDemo {
         private static void createKey() throws IOException,
          KeyStoreException, NoSuchAlgorithmException, CertificateException{
         X500Principal principal;
         String storeName = ".keystore";
         String alias = "keyAlias";
         principal = PrincipalInfo.getInstance().getPrincipal();
         String validity = "10000";
         String[] cmd = new String[]{ "keytool", "-genKey", "-alias", alias, "-keyalg", "RSA",
            "-sigalg", "SHA256WithRSA", "-dname", principal.getName(), "-validity",
            validity, "-keypass", "keyPassword", "-keystore",
            storeName, "-storepass", "storePassword"};
         int result = doExecCommand(cmd);
         if (result != 0){
              String msg = "An error occured while trying to generate\n" +
                                  "the private key. The error code returned by\n" +
                                  "the keytool command was " + result + ".";
              JOptionPane.showMessageDialog(null, msg, "Key Generation Error", JOptionPane.WARNING_MESSAGE);
         KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
         ks.load(new FileInputStream(storeName), "storePassword".toCharArray());
            //return ks from the method if needed
    public static int doExecCommand(String[] cmd) throws IOException{
              Runtime r = Runtime.getRuntime();
              Process p = null;
              p = r.exec(cmd);
              FileOutputStream outFos = null;
              FileOutputStream errFos = null;
              File out = new File("keytool_exe.out");
              out.createNewFile();
              File err = new File("keytool_exe.err");
              err.createNewFile();
              outFos = new FileOutputStream(out);
              errFos = new FileOutputStream(err);
              StreamSink outSink = new StreamSink(p.getInputStream(),"Output", outFos );
              StreamSink errSink = new StreamSink(p.getErrorStream(),"Error", errFos );
              outSink.start();
              errSink.start();
              int exitVal = 0;;
              try {
                   exitVal = p.waitFor();
              } catch (InterruptedException e) {
                   return -100;
              System.out.println (exitVal==0 ?  "certificate created" :
                   "A problem occured during certificate creation");
              outFos.flush();
              outFos.close();
              errFos.flush();
              errFos.close();
              out.delete();
              err.delete();
              return exitVal;
         public static void main (String[] args) throws
              KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException{
              createKey();
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    //Adapted from Mike Daconta's StreamGobbler at
    //http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4
    public class StreamSink extends Thread
        InputStream is;
        String type;
        OutputStream os;
        public StreamSink(InputStream is, String type)
            this(is, type, null);
        public StreamSink(InputStream is, String type, OutputStream redirect)
            this.is = is;
            this.type = type;
            this.os = redirect;
        public void run()
            try
                PrintWriter pw = null;
                if (os != null)
                    pw = new PrintWriter(os);
                InputStreamReader isr = new InputStreamReader(is);
                BufferedReader br = new BufferedReader(isr);
                String line=null;
                while ( (line = br.readLine()) != null)
                    if (pw != null)
                        pw.println(line);
                    System.out.println(type + ">" + line);   
                if (pw != null)
                    pw.flush();
            } catch (IOException ioe)
                ioe.printStackTrace(); 
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import javax.security.auth.x500.X500Principal;
    public class PrincipalInfo {
         private static String defInfoString = "CN=Name, O=Organization";
         //make it a singleton.
         private static class PrincipalInfoHolder{
              private static PrincipalInfo instance = new PrincipalInfo();
         public static PrincipalInfo getInstance(){
              return PrincipalInfoHolder.instance;
         private PrincipalInfo(){
         public X500Principal getPrincipal(){
              String fileName = "principal.der";
              File file = new File(fileName);
              if (file.exists()){
                   try {
                        return new X500Principal(new FileInputStream(file));
                   } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        return null;
              }else{
                   return new X500Principal(defInfoString);
         public void savePrincipal(X500Principal p) throws IOException{
              FileOutputStream fos = new FileOutputStream("principal.der");
              fos.write(p.getEncoded());
              fos.close();
    }Message was edited by:
    MidnightJava
    Message was edited by:
    MidnightJava

  • Output Service Java API

    Hi,
    I have installed and deployed Adode LC ES 8.1 for weblogic. I have two questions;
    1) While deploying the components 'Workbench Admin', 'Rights Admin' and 'PDF generator', exceptions are thrown saying that somes jar can not be deployed. After this exception the deployment stops.
    a) PDF Generator Component
    [2007-07-11 17:44:02,751], FINE , Thread-11, com.adobe.livecycle.lcm.feature.deployment.LCMDeployerUtil, installComponent : ..\working\deployLC\deploy\adobe-pdfgconfig-dsc.jar
    [2007-07-11 17:44:08,749], SEVERE , Thread-11, com.adobe.livecycle.lcm.feature.deployment.DeployDSCs, Failed to deploy component.
    com.adobe.livecycle.lcm.core.LCMException[ALC-LCM-030-200]: Failed to deploy component.
    b) Righta Admin Component
    [2007-07-11 17:41:59,449], FINE , Thread-10, com.adobe.livecycle.lcm.feature.deployment.LCMDeployerUtil, installComponent : ..\working\deployLC\deploy\adobe-rightsmanagement-weblogic-dsc.jar
    [2007-07-11 17:42:10,314], SEVERE , Thread-10, com.adobe.livecycle.lcm.feature.deployment.DeployDSCs, Failed to deploy component.
    com.adobe.livecycle.lcm.core.LCMException[ALC-LCM-030-200]: Failed to deploy component.
    c) Workbench Admin Component
    [2007-07-11 17:37:03,329], FINE , Thread-8, com.adobe.livecycle.lcm.feature.deployment.LCMDeployerUtil, installComponent : ..\working\deployLC\deploy\adobe-workspacepersistence-dsc.jar
    [2007-07-11 17:37:05,001], SEVERE , Thread-8, com.adobe.livecycle.lcm.feature.deployment.DeployDSCs, Failed to deploy component.
    com.adobe.livecycle.lcm.core.LCMException[ALC-LCM-030-200]: Failed to deploy component.
    2) I do not know whether this is because of the above. When I am using Output Service with Java API, to generate PDF for a given xdp and xml data, I am getting the below exception,
    Exception in thread "Main Thread" com.adobe.livecycle.output.exception.OutputException: com.adobe.idp.DocumentError: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: Failed to load class com.adobe.idp.DocumentFileID (see the server-side log for details)
    at com.adobe.livecycle.output.client.OutputClient.generatePDFOutput(OutputClient.java:138)
    at adobe.CARSPDFGenerator.main(CARSPDFGenerator.java:46)
    Caused by: com.adobe.idp.DocumentError: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: Failed to load class com.adobe.idp.DocumentFileID (see the server-side log for details)
    Appreciated your help.
    Thanks
    Raghu

    Hi
    We are using ejp service for generating PDF.But our outputClient.generatePDFOutput() is not giving us anything.When it is being called program gets hang,nor it is throwing any exeption.
    I am running the program from my machine which has windows OS and LiveCycle is intalled on Linux machine and has Weblogic server on it.
    We are making connection in service Client.

  • Any javadoc documentation available for Workflow Java API?

    Does anyone know if there is a "proper" Javadoc generated set of documentation for the Workflow Java API. The supplied html/pdf documentation describing the Java API has lots of omissions (eg, the getItemAttributes method returns an instance of WFTwoDDataSource - but where is the WFTwoDDataSource documented and how should I use the methods in that class?) I've tried loading some of the undocumented class definitions into a class browser, but the class methods have unhelpful parameter names like 'param1', which doesn't help in understanding how some of the classes and their methods should be used. I've tried searching technet and metalink for more specific documentation without success. If anyone can point me at a more useful set of documentation for the class hierarchies and their methods, it would be much appreciated.
    Thanks

    Hello,
    I'm also starting with workflow 2.6 java api. Just wondering if you had any luck in getting the source for wftest sample program... In case you did, could you send it to me please.
    Thanks in advance.
    /Fernando Pereira

  • Using the Data Engine Java API

    I try to use the Data Engine Java API to generate an XML document from database data.
    So as mentioned in the documentation Business Intelligence Publisher User's Guide Release 10.1.3.2 (page 4-26 to 4-27)
    a) I created a java class (using Jdev Version 11.1.1.0.0)
    package oracle.apps.XMLPublisher.client;
    import com.sun.java.util.collections.Hashtable;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.dataengine.DataProcessor;
    public class XMLFileGenerator {
    public XMLFileGenerator() {
    public static void dataEngine() throws ClassNotFoundException, Exception {
    XMLFileGenerator xMLFileGenerator = new XMLFileGenerator();
    try {
    //Initialization instantiate the DataProcessor class//
    DataProcessor dataProcessor;
    dataProcessor = new DataProcessor();
    //Set Data Template to be executed
    dataProcessor.setDataTemplate("PERFRBS.xml");
    Hashtable parameters;
    parameters = new Hashtable();
    parameters.put("P_LEGAL_ENTITY_ID", "3259");
    parameters.put("P_TRU_ID", "3262");
    parameters.put("P_YEAR", "2009");
    dataProcessor.setParameters(parameters);
    // Now set the jdbc connection to the database that you
    // wish to execute the template against.
    // This sample assumes you have already created
    // the connection object 'jdbcConnection'
    Class.forName("oracle.jdbc.OracleDriver");
    String url =
    "jdbc:oracle:thin:@ap6005sdb.us.oracle.com:1526:hremeadv";
    Connection jdbcConnection;
    jdbcConnection= DriverManager.getConnection(url, "apps", "*****");
    dataProcessor.setConnection(jdbcConnection);
    System.out.println("Here1");
    // Specify the output directory and file for the data file
    dataProcessor.setOutput("BilanSocial.xml");
    System.out.println("Here2");
    dataProcessor.processData();
    System.out.println("Here3");
    } catch (SQLException e) {
    System.out.println("SQLException " + e.getMessage());
    } catch (XDOException e) {
    System.out.println("XDOException" + e.getMessage());
    public static void main(String[] argv) throws ClassNotFoundException,
    Exception {
    XMLFileGenerator xmlPublisher = new XMLFileGenerator();
    XMLFileGenerator.dataEngine();
    b) to generate my xml file based on the following data template
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <dataTemplate name="PERFRBS" defaultPackage="" version="1.0">
    <parameters>
    <parameter name="P_LEGAL_ENTITY_ID" dataType = "number"></parameter>
    <parameter name="P_TRU_ID" dataType = "number"></parameter>
    <parameter name="P_YEAR" dataType = "number"></parameter>
    </parameters>
    <lexicals>
    </lexicals>
    <dataQuery>
    <sqlStatement name="Q_INDICATORS">
    <![CDATA[ SELECT pai.action_information3   YEAR,
                    pai.action_information17  INDICATOR_VALUE
              FROM   pay_action_information pai 
             WHERE  pai.action_information_category     = 'HR_FR_BS'
                AND    pai.action_context_type             = 'PA'
                AND    pai.action_information1             = :P_LEGAL_ENTITY_ID
                AND    pai.action_information2             = :P_TRU_ID
                AND    pai.action_information3            = :P_YEAR       
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_YEARS" dataType="varchar2" source="Q_INDICATORS">
    <element name="YEAR" dataType="varchar2" value="YEAR"/>
    <element name="INDICATOR_VALUE" dataType="number" value="INDICATOR_VALUE"/>
    </group>
    </dataStructure>
    </dataTemplate>
    ---> But when I run it , it fails when calling the data processor with the following error
    D:\Jdeveloper11g\jdk\bin\javaw.exe -client -classpath "D:\Jdeveloper11g\jdevhome\XMLPublisher\src\Client\classes;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\versioninfo.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xdocore.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\collections.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xmlparserv2-904.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\i18nAPI_v3.jar;D:\Jdeveloper11g\jdbc\lib\ojdbc14dms.jar;D:\Jdeveloper11g\jlib\orai18n.jar;D:\Jdeveloper11g\diagnostics\lib\ojdl.jar;D:\Jdeveloper11g\jlib\dms.jar" -Dhttp.proxyHost=emeacache.uk.oracle.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts= -Dhttps.proxyHost=emeacache.uk.oracle.com -Dhttps.proxyPort=80 -Dhttps.nonProxyHosts= oracle.apps.XMLPublisher.client.XMLFileGenerator
    Here1
    Here2
    Exception in thread "main" java.lang.IllegalAccessError: tried to access class oracle.jdbc.driver.OracleStatement from class oracle.apps.xdo.dataengine.DBConnection
         at oracle.apps.xdo.dataengine.DBConnection.setRowPrefetchSize(DBConnection.java:42)
         at oracle.apps.xdo.dataengine.XMLPGEN.setRowPrefetchSize(XMLPGEN.java:1224)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:420)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:281)
         at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:251)
         at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:192)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:222)
         at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:334)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.dataEngine(XMLFileGenerator.java:50)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.main(XMLFileGenerator.java:62)
    Process exited with exit code 1.
    Thanks by advance for your help

    Make sure you have the Oracle JDBC library setup in project parties and it's setup to export. The api's are fine. Have you looked at the BIPublisherIDE I wrote. All this code is already written for you. There is a manual on the site as well
    http://bipublisher.blogspot.com/2008/03/bi-publisher-bipublisheride.html
    Ike Wiggins
    http://bipublisher.blogspot.com

  • API to generate an image of random letters?

    Is there a free Java API for generating those images of random letters used to ensure that a human has submitted a web form?
    I know it's not too hard to write from scratch, but I'd like to save myself the work :)

    it's called a "captcha", their site (captcha.org or something) will have links to implementations.
    or google.. "java captcha implementation" ..

Maybe you are looking for

  • DI installation problem

    Hi All, I am installing SAP Production with HA option, I installed ASCS, DB and CI on my virtualhost1, now I want to install the DI on virtualhost2 on server2. But I am getting problem in select parameter screen. In the screen when we have to provide

  • Source system Assignment for Virtual Cube

    HI, I transported infosource and transfer rules to production, but source system is not transported. if i am right i think i need to assign source system(prd) manually. but in prd all objects are not changeble, then how can i assign the source system

  • Allow certain records a user can view

    Hello, Which method is best to implemet a solution to allow certain records from a table to be selected from a particular user? I can build a view and grant select on that view to the user but I like to know if there is a better solution? (lable secu

  • Internet Explorer does not show photo's on website

    I made a website with iWeb. It looks fine on Safari and Mozilla Firefox but Internet Explorer does not show any of the photo's I have put on. Any solutions out there? Thanks in advance.

  • Problem with N81

    Hi guys, just got an N81 8gig from o2. Very impressed, excellent phone. However i have one problem with it. When texting and generally navigating, i often accidentally press the play button on the dedicated music keys, so then i have to press the sto