Close document via javascript, possible?

My scenario is that a user gets a number of documents loaded into Acrobat to fill-in & sign
Once a user has submitted a form I would like to auto close the document
Is there a way to do this via java script?
Thank you
Pete

Hi Ole,
It is possible to close the document in any of the event through javascript. If you wish to close the document on a button click event, use the following script in the click event.
app.execMenuItem("Close");
Regards,
Sanoosh

Similar Messages

  • Retreiving the content created with the Note Tool via Javascript??

    Hey guys, is it possible to retrieve the text content created with the Note Tool from the tool palette  in a photoshop document via Javascript? Basically, I wanted to store some text inside the Photoshop psd document, and then later on I can use scripting to access the content to be use as variables.
    I have search the Javascript scripting reference pdf and the forum here, and I can't find any info the Note Tool. Much appreciated.

    Ok, so I am using the activeDocument.info.keywords property to store my text content. The content is basically a chunk of text that contains some parameters that the user can modify to save out a document. In my script, I am using a variable to store the content from the info.keywords property. But my next hurdle is how can I extract specific part of that variable into other variables, like storing the C:\projects\Textures\ into another variable? I've done some research and got a sense that the "match" method in javascript along with the use of regular expressions might do the job. But I am stuck. Any suggestions?
    info.keywords property has the follow chunk of text:
    // file path to save 
    path(C:\projects\Textures\)  
    // save file format (psd or tga, etc)
    format (tga) 
    // include a single alpha channel with the file y/n 
    alpha(n) 
    // alpha name - default should be "alpha1" 
    alphaName(alpha1) 
    // scale from the original size 
    scale(.5) 
    //sharpening
    sharpen(.5)
    script code:
    var saveDoc = activeDocument.info.keywords;
    var savePath = saveDoc[0].match(regular expression goes here); // how to grab C:\projects\Textures\ from the saveDoc variable???
    alert(savePath);

  • How to get elements in a multi-value field via javascript?

    The following will set variables.variable1 to variables.variable2 when the "Script Link" component is clicked...
    <Field>
    <Display class='Javascript'>
    <String>
    function myScript() {
    el=getElement(document.mainform,"variables.variable1");
    el2=getElement(document.mainform,"variables.variable2");
    el.value=el2.value;
    </String>
    </Display>
    </Field>
    <Field name='Script Link'>
    <Display class='Link'>
    <Property name='URL'>
    <String>javascript:myScript();submitCommand(document.mainform,%20'Recalculate');</String>
    </Property>
    </Display>
    </Field>
    My issue is, if variables.variabl2 is a list / multivalued, i get errors trying to traverse through the "array".
    How can i read and set an a list element via javascript function above? I've tried things like get() , and variables.variable2[0] .
    any help would be appreciated....
    is there an API somewhere i can reference?

    Hi,
    thanks for your reply!
    If I have the parameters in the URL and use the method GET it works all right.
    but I need the method to be POST. I suppose, I have the wrong way identifying the parameter name
    This is from VB
    varTarget = "http://localhost:9090/gm/getData" ' getData is my servlet
    xmlSendStr = "SQLStmt=SELECT TCPD_Cars.* From TCPD_Cars WHERE (((TCPD_Cars.CarIdent)=45));"
        xmlHttp.Open "POST", varTarget, True   'True means asynchronous
        xmlHttp.Send xmlSendStrthis is part of my Servlet
         protected void doPost(HttpServletRequest request, HttpServletResponse response)
                   throws ServletException, IOException {
              response.setContentType("text/html");
              PrintWriter writer  = response.getWriter();
              String SQLStmt = request.getParameter("SQLStmt") ;
            //make the database query and get the returns
            writer.println(GetSQLData(SQLStmt));
            //close the write
            writer.close();                    
         }I would appreciate any suggestions

  • Uploading a File with AppleScript via JavaScript

    Hi everybody,
    being new to AppleScripting and JavaScripting I'm faced with the following problem:
    Is it possible to make AppleScript to input the path for a file to be uploaded via JavaScript? If yes, what should be the correct Path Format and how to wrap it up the JavaScript action into AppleScript? I've tried a few comands but to no success.
    On the webpage in question, there's a "Choose" button, that is defined as follows:
    <input type=​"file" class=​"gwt-FileUpload" name=​"swfFile">​
    I've been trying to use the following syntax:
    do JavaScript "document.getElementsByName('swfFile')[0].value('Macintosh HD:Users:myaccount:Desktop:Scrapbook:!动画.swf')" in document 1
    as well as this one, where the Path is definitelly understood by shellscript:
    do JavaScript "document.getElementsByName('swfFile')[0].value('/Users/myaccount/Desktop/Scrap book/!动画.swf')" in document 1
    The name of the file is (and must remain) in chinese, but for testing purposes I have also tried files with english names, without success.
    Currently I'm using a solution with JavaScript comand:
    do JavaScript "document.getElementsByName('swfFile')[0].click()" in document 1
    to click the finder  window to browse for the file, and manipulating  keystrokes by using System Events to find the right file, but it's not  infallible with a number of files and it's hardly an ellegant sollution.
    Any idea what I'm doing wrong?
    Cheers!

    @twtwtw
    the do JavaScript "document.forms[0].submit()" command didn't work, so I kept the original way of submitting by clicking the button. The submitting part works, but not the input file part.
    That's the code I used
        tell application "Safari"
            do JavaScript "document.getElementById('gwt-uid-13').value='on'" in document 1
            do JavaScript "document.forms[0].elements['swfFile'].value=" & "'" & SWFFilePath & "'" in document 1
            do JavaScript "document.getElementsByClassName('gwt-SubmitButton')[0].click()" in document 1  
            delay 1
        end tell
    with SWFFilePath set as the POSIX path as well as the default file format
    Macintosh HD:Users:myaccount:Desktop:Scrapbook:!动画.swf'
    but it did not work.
    If you've got the time, feel free to upload an .swf. The service is free and the server delats uploaded files after 15 min. (if you don't have any, you may try an empty .txt file instead - it won't get converted, but the point is just to get it into the input box).
    In the meantime, I'll have a look at adayzdone's suggestion. It's not perfect (the downside being that it requires the window to be active, so I can't run the script in the background or with my screensaver & password on), but it's still more reliable than my sollution with navigating arrowkeyes.

  • Printing a slide in Captivate 6 HTML5 output via javascript

    I have been googling for the past 3 work days trying to figure this out.
    I had some limited success with printing a div via javascript and pointing it at the slide div (I know it happens to be Slide16952).
    Which is fine, except it doesn't keep the CSS elements of the slide which is what makes it a pretty completion certificate.  Print widgets won't work because I have to publish to HTML5 and not flash (no, no choice in this).  I am struggling to get any javascript working.
    I have this right now which I just picked up as a generic to try and get me going
    function PrintElem(elem)
            Popup($('<div/>').append($(elem).clone()).html());
        function Popup(data)
            var mywindow;      
            mywindow = window.open('', 'mydiv','height=1280,width=720,scrollbars=no','');           
            mywindow.document.write('<html><head><title>my div</title>');
            mywindow.document.write('<style type="text/css" media="print,screen">.hideMe{display:none;}.NoPrintClass{display:none;}</style>');               
            mywindow.document.write('</head><body>');
            mywindow.document.write('drop down selected value in parent: '+mywindow.opener.document.getElementById('testSelect').options[mywindow.opener.document. getElementById('testSelect').selectedIndex].text+'<br/>');
            mywindow.document.write('contentStarts<br/>');
            mywindow.document.write('  using jquery:  '+data);
            mywindow.document.write(' using javascript: '+mywindow.opener.document.getElementById('mydiv').innerHTML);
            mywindow.document.write('<br/>contentEnds');
            mywindow.document.write('<br/>');                                    
            mywindow.document.write('</body></html>');       
            mywindow.document.focus();
            mywindow.document.close();     
            mywindow.print();            
            return true;
    I then point my print button at PrintElem('Slide16952') via a javascript window.
    obviously I haven't written this to fit my particular project yet, but the part I am having the most issue with is trying to get the captivate CSS stuff to come through.  mydiv should = Slide16952 I think.  The CSS form that captivate creates has several block visible elements, but I believe the one I am trying to make sure I get is .cp-shape in CPLibrary.css, but there could be others I want too and I am not sure which.
    has anyone had any luck getting a single slide printed in HTML?  window.print() only gets me like 95% of the slide and a loft of white space around it.

    function printPartofPage() {
        var DocumentContainer = document.getElementById('Slide16952');
        var WindowObject = window.open('', 'PrintWindow', 'width=1280,height=720,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=no') ;
        WindowObject.document.writeln('<!DOCTYPE html>');
        WindowObject.document.writeln('<html><head><title></title>');
        WindowObject.document.writeln('<link rel="stylesheet" type="text/css" href="assets/css/CPLibrary.css">');
        WindowObject.document.writeln('</head><body>');
        WindowObject.document.writeln('<body style="background-image:url(dr/CertBorder.png);">');
        WindowObject.document.writeln('<h1 style="text-align:center; top: 30px;">Certificate of Completion</h1>');
        WindowObject.document.writeln(DocumentContainer.innerHTML);
        WindowObject.document.writeln('<img src="dr/17170_271_44.png" style="position:absolute; left: 896px; top: 464px; width: 294px; height: 73px;"></img>');
        WindowObjext.document.writeln('<p style="text-decoration:overline; position:absolute; left: 908px; top: 494px;">Authorized Signature</p>');
        WindowObject.document.writeln('</body></html>');
        WindowObject.document.close();
        WindowObject.focus();
        //WindowObject.print();
        //WindowObject.close();
    latest code update.  Almost everything is working now.  I am going to get rid of the h1 line because I am going to redesign the certificate image and incorporate the Certificate of Completion part in the image file CertBorder.  I may also do that for the image (which is a signature) and the <p></p> portion, so that I am pulling all of that into the image template and aligning it where it needs to be and just grabbing the image.
    I have the WindowObject.print and .close commented out so I can get it all working.  Once I know it works I will uncomment those for final testing.
    This isn't a great solution, but it's the only one I can seem to make work at this point and it will be pretty transparent to the user once it's done.  So far it doesn't set off the pop-up blocker for me, but I am doing this all locally on my hard drive so I suspect that may become an issue once published.
    also, all credit where credit is due (here is where I got my baseline code ideas http://jsfiddle.net/Zmqzb/)

  • Targetting elements via javascript... how?

    The following is code for a navigation menu where only one option appears lit at a time (based on code sent to me by the amazing Jon Fritz II).
    CSS:
    a#button0, a#button1 {
        display:block;
        float:left;
        width:55px;
        height:67px;
        margin:0;
    a#button0.inactive
    { background:url(/carousel_home.png) -55 0 no-repeat }
    a#button0.active
    { background:url(/carousel_home.png) 0 0 no-repeat }
    a#button1.inactive
    { background:url(/carousel_vip.png) -55px 0 no-repeat }
    a#button1.active
    { background:url(/carousel_vip.png) 0 0 no-repeat }
    HTML:
    <a href="#" onclick="changeClass(this)" class="inactive menu" id="button0"> </a>
    <a href="#" onclick="changeClass(this)" class="inactive menu" id="button1"> </a>
    JSCRIPT:
    <script>
    function changeClass(elClass) {
      var divsLength =  document.getElementsByClassName("menu").length;
      for (i = 0; i < divsLength; i++) {
        document.getElementsByClassName("menu")[i].className = "inactive menu";
      elClass.className = "active menu"; 
    </script>
    What this does is swap the class of a clicked button (in a menu) while reverting all the other buttons back to their original state, so only 1 button appears "lit" at a time. The A tags are used as block elements that simply shift the background image so as to produce a "lit" and "unlit" state.
    My question is... via javascript (or anything else), is it possible to trigger class changes for the buttons from an area OUTSIDE the menu? In other words, can we make a text link on the page itself trigger which button in the menu to "light up". Something like <a href="javascript:slide('div1'); javascript:(go light up button1)">Example</a>
    The reason is that this menu is not the ONLY way to get from one section to another. So if I click on a link in another DIV on the same page that takes me to another area, ideally, I'd like to see the button representing that area in the nav menu light up like it's been clicked on -- even if it hasn't. And of course, the other buttons would NOT be lit.
    Thanks!

    I hadn't even noticed you changed the name of the function from changeClass to setClass, which of course who immediately explain why it started working on those elements that were still calling changeClass... except that when I changed the individual calls to setClass, they still wouldn't work.
    Was I supposed to leave the former changeClass function in the javascript? Is your setClass function supposed to be used in conjuction with the other one? Because I replaced one with the other, and ever since then, the new behavior works but the old one (clicking directly on the icon) does not.
    Here is my menu :
    <a href="javascript:slide('div-home')" onclick="setClass(this)" class="inactive menu" id="button0"> </a>
    <a href="javascript:slide('div-vip1')" onclick="setClass(this)" class="inactive menu" id="button1"> </a>
    <a href="javascript:slide('div-vip2')" onclick="setClass(this)" class="inactive menu" id="button2"> </a>
    <a href="javascript:slide('div-vip4')" onclick="setClass(this)" class="inactive menu" id="button4"> </a>
    <a href="javascript:slide('div-vip5')" onclick="setClass(this)" class="inactive menu" id="button5"> </a>
    <a href="javascript:slide('div-done')" onclick="setClass(this)" class="inactive menu" id="button6"> </a>

  • Access file applet function via javascript

    hi all
    when i want to have access to the method (which in fact read a file) of my applet class via javascript, a java error is raised: access denied
    BUT i have signed the related jar!
    when i want to access the method (which in fact read a file) of my applet class via the normal way (put a button into a frame and....) it works.
    are there more configurations to do or ....?
    Kind Regard Tom
    here is the code
    HTML file
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
         <head>
         <link type="text/css" rel="stylesheet" href="/css/style.css">
              <script type="text/javascript">
              function xclick() {
              alert( document.getElementById('applet').isFileOk());
              document.getElementById('fichier').value = document.getElementById('applet').isFileOk();
              //alert(document.portal.applet.isFileOk(path));
              function checkfile() {
                   //var fichiercacher = document.portal.fichier.value;
                   var fichiercacher = document.getElementById("fichier").value;
                   document.getElementById("fichiercacher").value = fichiercacher;
                   document.getElementById("fichiercacher").value = fichiercacher;
                   document.getElementById("chemin").value = fichiercacher;
                   alert("fichier cacher" + fichiercacher);
                   alert("chemin=" + document.getElementById("chemin").value);
              </script>
         </head>
         <body >
         <form name="portal" method="post" action="" >
    <p align="center" id="corps">
         <img border="0" src="ilias.bmp"><br>
         <applet id="applet2" code="NumberOfLine.class" archive="NumberOfLine.jar" width="150" height="109" >
              <param name="maxLines" value="50" />
              <param id="chemin" name="fichierparam" value="" />
              </applet>
              <applet id="applet" code="localfile.class" archive="localfile.jar" width="150" height="109" >
              <param name="maxLines" value="50" />
              <param id="chemin" name="fichierparam" value="" />
              </applet>
         <br>
                   <div id="divloading" ></div>
         <input type="hidden" name="fichiercacher" />
         <input type="file" name="fichier" onchange="checkfile()">
    <input type="button" value="click me" onClick=xclick() ; />
         </p>
         </form>
         </body>
         </html>
    Class NumberOfLine javascript way
    import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Label;
    import java.io.*;
    public class NumberOfLine extends Applet {
    private boolean fileok = false;
    Label message = new Label("MAX line = 40 ");
    Button btnok = new Button("check file");
    int maxline = 40;
    public void init() {
         String sMaxLines = getParameter("maxLines");
         if ( sMaxLines != null ){
                   this.maxline = Integer.parseInt(sMaxLines);
                   System.out.println(this.maxline);
         public String isFileOk(String chemin) {
              File ffile = new File( chemin);
              try{
                   FileReader fr = new FileReader(ffile);
                   LineNumberReader ln = new LineNumberReader(fr);
              int count = 0;
              while (ln.readLine() != null) {
              count++;
              System.out.println("Total line no: " + count);
                   ln.close();
                   fileok = (count <= maxline);
              catch(IOException e){
                   e.printStackTrace();
                   System.out.println(e.toString());
              return fileok ? "ok" : "nok";
    CLass localfile Normal way
    import java.applet.*;
    import java.awt.*;
    import java.util.*;
    import java.lang.*;
    import java.text.*;
    import java.awt.event.*;
    import java.io.*;
    public class localfile extends Applet {
         public localfile() {
              Panel p = new Panel();
              Font f;
              String osname = System.getProperty("os.name","");
              if (!osname.startsWith("Windows")) {
                   f = new Font("Arial",Font.BOLD,10);
              } else {
                   f = new Font("Verdana",Font.BOLD,12);
              p.setFont(f);
              p.add(new Button("Open"));
              p.add(new Button("other"));
              p.setBackground(new Color(255, 255, 255));
         p.setSize(800, 800);
              add(p);
              setSize(800, 800);
              setVisible(true);
         public String isFileOk(){
                   System.out.println("OPEN CLICKED");
                   int arrlen = 10000;
                   byte[] infile = new byte[arrlen];
                   Frame parent = new Frame();
                   FileDialog fd = new FileDialog(parent, "Please choose a file:",
                   FileDialog.LOAD);
                   fd.show();
                   String selectedItem = fd.getFile();
                   if (selectedItem == null) {
                        // no file selected
                   } else {
                        if ((fd.getFile()).endsWith("txt") || (fd.getFile()).endsWith("text")){
                             File ffile = new File( fd.getDirectory() + File.separator +
                             fd.getFile());
                             // read the file
                             System.out.println("reading file " + fd.getDirectory() +
                             File.separator + fd.getFile() );
                             try {
                                  FileInputStream fis = new FileInputStream(ffile);
                                  BufferedInputStream bis = new BufferedInputStream(fis);
                                  DataInputStream dis = new DataInputStream(bis);
                                  try {
                                       int filelength = dis.read(infile);
                                       String filestring = new String(infile, 0,
                                       filelength);
                                       System.out.println("FILE LENGTH=" + filelength);
                                       System.out.println("FILE CONTENT=" + filestring);
                                  } catch(IOException iox) {
                                       System.out.println("File read error...");
                                       iox.printStackTrace();
                             } catch (FileNotFoundException fnf) {
                                  System.out.println("File not found...");
                                  fnf.printStackTrace();
                        } else {System.out.println("Error this is not a txt file"); }
              return "turc";
         public boolean action(Event evt, Object arg) {
              if (arg.equals("Open")) {
                   System.out.println("OPEN CLICKED");
                   int arrlen = 10000;
                   byte[] infile = new byte[arrlen];
                   Frame parent = new Frame();
                   FileDialog fd = new FileDialog(parent, "Please choose a file:",
                   FileDialog.LOAD);
                   fd.show();
                   String selectedItem = fd.getFile();
                   if (selectedItem == null) {
                        // no file selected
                   } else {
                        if ((fd.getFile()).endsWith("txt") || (fd.getFile()).endsWith("text")){
                             File ffile = new File( fd.getDirectory() + File.separator +
                             fd.getFile());
                             // read the file
                             System.out.println("reading file " + fd.getDirectory() +
                             File.separator + fd.getFile() );
                             try {
                                  FileInputStream fis = new FileInputStream(ffile);
                                  BufferedInputStream bis = new BufferedInputStream(fis);
                                  DataInputStream dis = new DataInputStream(bis);
                                  try {
                                       int filelength = dis.read(infile);
                                       String filestring = new String(infile, 0,
                                       filelength);
                                       System.out.println("FILE LENGTH=" + filelength);
                                       System.out.println("FILE CONTENT=" + filestring);
                                  } catch(IOException iox) {
                                       System.out.println("File read error...");
                                       iox.printStackTrace();
                             } catch (FileNotFoundException fnf) {
                                  System.out.println("File not found...");
                                  fnf.printStackTrace();
                        } else {System.out.println("Error this is not a txt file"); }
              } else return false;
              return true;
    }

    Thx you were a great due to my big lak of java skills.
    i found the solutions and for those who are interrested here is the code:
    public String isFileOk(final String filepath){
              System.out.println("OPEN file=" + filepath);
              int arrlen = 10000;
              byte[] infile = new byte[arrlen];
                        try {
                   FileInputStream fis = (FileInputStream) AccessController.doPrivileged(
                   new PrivilegedExceptionAction() {
                   public Object run() throws FileNotFoundException {
                   return new FileInputStream(filepath);
                             BufferedInputStream bis = new BufferedInputStream(fis);
                             DataInputStream dis = new DataInputStream(bis);
                             try {
                                  int filelength = dis.read(infile);
                                  String filestring = new String(infile, 0,
                                  filelength);
                                  System.out.println("FILE LENGTH=" + filelength);
                                  System.out.println("FILE CONTENT=" + filestring);
                             } catch(IOException iox) {
                                  System.out.println("File read error...");
                                  iox.printStackTrace();
                             } finally {
                                  try {
                                       fis.close();
                                  } catch(IOException ioe) {
                                       //oops
                   } catch (PrivilegedActionException e) {
                   // e.getException() should be an instance of FileNotFoundException,
                   // as only "checked" exceptions will be "wrapped" in a
                   // PrivilegedActionException.
                   //throw (FileNotFoundException) e.getException();
                        e.printStackTrace();
                        return "nok";
                   return "ok";
         }

  • Open PDF in browser - but cant control/close window from javascript

    Hi
    I hope I picked the correct forum
    Basically I have a site in asp classic. From a button I opens 2
    windows via javascript.
    One contains info, one shows a related file ( could be tiff or pdf ).
    When user closes info-window, I also close the file window via javascript, so that user only hav to click once.
    That works with tiff, but not with pdf, '!file.closed' returns that window are already closed.
    Somehow I simply loose contact to that window when I open pdf.
    My Adobe is set  with "open pdf in browser", version 10.1.2
    Any Ideas ?
    Overview what I do:
    function openTwoWindows(jnr,vikar,hvorfra){
              var left, top,vikar;
              width = (window.screen.availWidth/2)+80;
              width2 = (window.screen.availWidth/2)-80;
              height  = (window.screen.availHeight);
              info = window.open('info.asp'','top=0,left=0,height='+height+',width='+width+',resizable=yes,scr ollbars=yes,status=yes');
              var settings= 'toolbar=no,location=no,directories=no,'+
              'status=no,menubar=no,scrollbars=no,resizable=yes, top=0, left='+width+', height='+height+',width='+width2;
              file = window.open('showfile.asp?strJnr='+jnr+'&print=false','file',settings);
              info.focus();
    function closeFileWindow(){
                if(file && !file.closed){
                             file.close();
    if the file is a pdf -> showfile code in asp classic:
    Response.AddHeader "Content-Disposition","inline;filename=filename.pdf"
    Response.ContentType = "Application/pdf"
    'Response.Clear
    Response.Buffer = true
    // fetch file from database
    Response.BinaryWrite rsTmp("Fil")
    Response.Flush
    Response.End

    Read this:
    http://forums.adobe.com/thread/535609?tstart=0

  • Hello! I would like to know the procedure to turn a word document into a PDF document via Adobe Reader.

    Hello! I would like to know the procedure to turn a word document into a PDF document via Adobe Reader. Do I have to pay for it or just sign up? Thank you in advance.

    "...the procedure to turn a word document into a PDF document via Adobe Reader." 
    Not possible.
    No version of Adobe Reader can:
    --| create PDF 
    --| manipulate PDF page content  
    --| export PDF page content
    Adobe Reader XI does provide a "connection" to various Adobe hosted online subscription services (that are under "acrobat.com").
    There is a subscription services can create PDF from supported file formats that are uploaded to the service.
    This subscription service is "PDF Pack".
    With an active (paid up) subscription to a service one can make use of the service.
    Be well...

  • How to trigger xml publisher API (ex:Delivering Documents via e-Mail)?

    Dear All:
    How to use xml publisher API ?
    In user's guide always talk API's code.(ex:Delivering Documents via e-Mail
    // create delivery manager instance
    DeliveryManager dm = new DeliveryManager();
    // create a delivery request
    DeliveryRequest req =
    dm.createRequest(DeliveryManager.TYPE_SMTP_EMAIL);
    // set email subject
    req.addProperty(DeliveryPropertyDefinitions.SMTP_SUBJECT, "Invoice");
    // set SMTP server host
    req.addProperty(
    DeliveryPropertyDefinitions.SMTP_HOST, "mysmtphost");
    // set the sender email address
    req.addProperty(DeliveryPropertyDefinitions.SMTP_FROM,
    "[email protected]");
    // set the destination email address
    req.addProperty(
    DeliveryPropertyDefinitions.SMTP_TO_RECIPIENTS,
    "[email protected], [email protected]" );
    // set the content type of the email body
    req.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_TYPE,
    "text/html");
    // set the document file name appeared in the email
    req.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_FILENAME,
    "body.html");
    // set the document to deliver
    req.setDocument("/document/invoice.html");
    // submit the request
    req.submit();
    // close the request
    req.close(); )
    Not say how to use this code to account effect !!
    Having anybody to use API before?
    Please tell me how to use that,thanks!!
    BY Emily_ye

    Hi Emily
    I had the same question. After much research and a lot of deduction I produced the following:
    import oracle.apps.fnd.cp.request.*;
    import java.io.*;
    import java.sql.*;
    import java.util.Vector;
    import oracle.apps.fnd.util.*;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.common.pdf.util.PDFDocMerger;
    import oracle.apps.xdo.delivery.DeliveryException;
    import oracle.apps.xdo.delivery.DeliveryManager;
    import oracle.apps.xdo.delivery.DeliveryPropertyDefinitions;
    import oracle.apps.xdo.delivery.DeliveryRequest;
    import oracle.jdbc.driver.OracleCallableStatement;
    public class RunTravProgram implements JavaConcurrentProgram {
    CpContext mCtx; // global reference to concurrent program context
    LogFile logFile; // global reference to context logfile
    OutFile outFile; // global reference to context outfile
    Connection mConn = null;
    ReqCompletion lRC;
    //File Separator
    private String mFileSeparator;
    // globals for template
    String XDOAppShortName = "";
    String XDOtemplateCode = "";
    // hard-wired constants for template addition
    final String XDOLanguage = "en";
    final String XDOTerritory = "US";
    final String XDOFinal_format = "PDF";
    final String XDOtemplateType = "TEMPLATE_SOURCE";
    String PDFFile = "";
    String outFilePath = "";
    String progShortName = "";
    String progDesc = "";
    Integer iRequestID = 0;
    String sWatermark = ""; // watermark text
    String emailAddress = ""; // Not Implemented
    String emailServer = "";
    public static final String M_SUCCESS = "SUCCESS";
    public static final String M_ERROR = "ERROR";
    public static final String M_WARNING = "WARNING";
    * Create a Java FND ConcurrentRequest objec to call fnd_request.submit_request
    * The first three parameters are:
    * Application Short Name -- Application Short name (ie. WAHC)
    * Current Program Short Name -- Concurrent Program being called
    * Current Program Description -- description for above
    * These should be the first three parameters passed by the concurrent
    * program in this order. The next two are constants set to null
    * These are followed by the parameters passed by the first concurrent
    * program that are being passed to the next concurrent program.
    * I am limiting the parameter list to ten for now.
    // Dynamic PLSQL statement used to get a concurrent request completion status
    // This is necessary because the java class does not provide this method :-(
    String mGetCompleteStatus =
    "DECLARE R_VAL BOOLEAN; " + "b_phase VARCHAR2 (80) := NULL; " +
    "b_status VARCHAR2 (80) := NULL; " +
    "b_dev_phase VARCHAR2 (80) := NULL; " +
    "b_dev_status VARCHAR2 (80) := NULL; " +
    "b_message VARCHAR2 (240) := NULL; " + "BEGIN " +
    "r_val := fnd_concurrent.wait_for_request (:1,5,1000," +
    "b_phase,b_status,b_dev_phase,b_dev_status,b_message); " +
    ":2 := b_phase; " + ":3 := b_status; " + ":4 := b_message; " + "end;";
    public RunTravProgram() {
    // no constructor necessary for now
    * Concurrent Processing provides an interface 'JavaConcurrentProgram' with abstract method
    * runProgram() which passes the concurrent processing context 'CpContext'. The concurrent
    * program developer will implement all of their business logic for a concurrent program in
    * runProgram(). The main() method, implemented by AOL, will call runProgram() after
    * performing all of the required initialization for the concurrent program, including
    * establishing a database connection, initializing the required contexts, and setting up
    * the log and output files. CpContext will have the request specific log and output
    * file input methods
    public void runProgram(CpContext pCpContext) {
    mCtx = pCpContext;
    OracleCallableStatement lStmt = null;
    boolean bCompletion = true;
    String sPhase = "";
    String sStatus = "";
    String sMessage = "";
    //get handle on request completion object for reporting status
    lRC = pCpContext.getReqCompletion();
    // assign logfile
    logFile = pCpContext.getLogFile();
    // assign outfile
    outFile = pCpContext.getOutFile();
    // assign fileseparator
    mFileSeparator = getFileSeparator();
    // get the JDBC connection object
    mConn = pCpContext.getJDBCConnection();
    outFilePath =
    ((new File(outFile.getFileName())).getParent() == null ? "" :
    (new File(outFile.getFileName())).getParent() +
    mFileSeparator);
    logFile.writeln("OutFile File Path: -> " + outFilePath, 0);
    // get parameter list object from CpContext
    // these come from the concurrent program
    ParameterList lPara = pCpContext.getParameterList();
    // create a temporary array and retrieve the parameters created by
    // the program. Currently limiting the number of parameters to 10 for now
    String pvals[] = new String[10];
    int pcount = 0;
    while (lPara.hasMoreElements()) {
    NameValueType aNVT = lPara.nextParameter();
    pvals[pcount] = aNVT.getValue();
    pcount++;
    if (pcount > 9)
    break;
    // send parameter values to the log file
    logFile.writeln("Arg 1: APPL_SHORT_NAME -> " + pvals[0], 0);
    logFile.writeln("Arg 2: CURR_PROG_SHORT_NAME -> " + pvals[1], 0);
    logFile.writeln("Arg 3: CURR_PROG_DESCRIPTION -> " + pvals[2], 0);
    logFile.writeln("Arg 4: TEMPLATE_CODE -> " + pvals[3], 0);
    logFile.writeln("Arg 5: P_PLANT_CODE -> " + pvals[4], 0);
    logFile.writeln("Arg 6: P_BATCH_NO -> " + pvals[5], 0);
    logFile.writeln("Arg 7: P_SHOW_PROMISE -> " + pvals[6], 0);
    logFile.writeln("Arg 8: P_WATERMARK -> " + pvals[7], 0);
    XDOtemplateCode = pvals[3]; // store the template name globally
    progShortName = pvals[1]; // store the program short name globally
    XDOAppShortName = pvals[0]; // store the application short name
    sWatermark = pvals[7]; // store the watermark globally
    progDesc = pvals[2];
    try {
    // create a concurrent request object
    ConcurrentRequest cr = new ConcurrentRequest(mConn);
    // use the parameters to call fnd_request.submit_request
    cr.addLayout(XDOAppShortName, XDOtemplateCode, XDOLanguage,
    XDOTerritory, XDOFinal_format);
    Vector param = new Vector();
    param.add(pvals[4]); // plant code
    param.add(pvals[5]); // batch ID
    param.add(pvals[6]); // Show SO info flag
    iRequestID =
    cr.submitRequest(XDOAppShortName, progShortName, progDesc,
    null, false, param);
    mConn.commit();
    // send the request ID to the log file
    logFile.writeln("-- Request ID: ->" + Integer.toString(iRequestID),
    0);
    // call fnd_concurrent.wait_for_request to wait until the request
    // has ended - use this to check the request status before proceeding
    lStmt =
    (OracleCallableStatement)mConn.prepareCall(mGetCompleteStatus);
    lStmt.setInt(1, iRequestID);
    lStmt.registerOutParameter(2, java.sql.Types.VARCHAR, 0, 255);
    lStmt.registerOutParameter(3, java.sql.Types.VARCHAR, 0, 255);
    lStmt.registerOutParameter(4, java.sql.Types.VARCHAR, 0, 255);
    lStmt.execute();
    // get the results of the completion
    sPhase = lStmt.getString(2);
    sStatus = lStmt.getString(3);
    sMessage = lStmt.getString(4);
    lStmt.close();
    // send the results of the request processing to the log file
    logFile.writeln("-- Phase: -> " + sPhase, 0);
    logFile.writeln("-- Status: -> " + sStatus, 0);
    logFile.writeln("-- Message: -> " + sMessage, 0);
    // test here to make sure it completed correctly
    if (sPhase.equals("Completed") && sStatus.equals("Normal")) {
    // construct the PDF file name generated by the called request
    PDFFile = progShortName + "_" + iRequestID + "_1.pdf";
    // add a watermark to the generated PDF
    // create an output stream for the existing PDF
    // and set ouput to append
    OutputStream pdfout =
    new FileOutputStream(outFilePath + PDFFile, true);
    // create an inputstream array (required by calling method)
    InputStream pdfin[] = new InputStream[1];
    pdfin[0] = new FileInputStream(outFilePath + PDFFile);
    // add the watermark passed as a parameter
    bCompletion = addWatermark(pdfin, pdfout);
    // assign the modified file to the context out
    // this will print using this request
    if (bCompletion)
    outFile.setOutFile(outFilePath + PDFFile);
    // release the connection object
    // and set the completion status for the request
    if (bCompletion) {
    pCpContext.getReqCompletion().setCompletion(ReqCompletion.NORMAL,
    } else {
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } catch (SQLException s) {
    logFile.writeln("SQL Error: Exception thrown w/ error message: " +
    s.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } catch (IOException ioe) {
    logFile.writeln("IO Error: Exception thrown w/ error message: " +
    ioe.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } catch (Exception e) {
    logFile.writeln("General Exception: " + e.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } finally {
    try {
    if (lStmt != null)
    lStmt.close();
    pCpContext.releaseJDBCConnection();
    } catch (SQLException e) {
    logFile.writeln(e.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    * addWatermark()
    * @param pdfin
    * @param pdfout
    * @return boolean
    * This method will work for an existing document or a newly generated
    * one. Set the outputstream append flag to false for a new document
    * and true for an existing one.
    * NOTE: PDFDocMerger requires an inputstream array even if it only
    * contains one document.
    private boolean addWatermark(InputStream[] pdfin, OutputStream pdfout) {
    if (!sWatermark.equals("")) {
    try {
    PDFDocMerger docMerger = new PDFDocMerger(pdfin, pdfout);
    //docMerger.setTextDefaultWatermark(sWatermark);
    docMerger.setTextWatermark(sWatermark, 80f, 50f);
    docMerger.setTextWatermarkAngle(25);
    docMerger.setTextWatermarkColor(1.0f, .50f, .50f);
    docMerger.setTextWatermarkFont("Garamond", 100);
    docMerger.process();
    docMerger = null;
    return true;
    } catch (XDOException e) {
    logFile.writeln("Watermark process Failed: " + e.getMessage(),
    0);
    return false;
    return true;
    * Returns the file separator
    private String getFileSeparator() {
    return (System.getProperty("file.separator"));
    * EBSEmailDelivery
    * @return
    * Just for testing right now.
    private boolean EBSEmailDelivery() {
    if (!emailAddress.equals("")) {
    try {
    // create delivery manager instance
    DeliveryManager delMgr = new DeliveryManager();
    // create a delivery request
    DeliveryRequest delReq =
    delMgr.createRequest(DeliveryManager.TYPE_SMTP_EMAIL);
    // set email subject
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_SUBJECT,
    "EBS Report:" + progDesc +
    " for request: " + iRequestID);
    // set SMTP server host
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_HOST,
    emailServer); // need to supply the email smtp server
    // set the sender email address
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_FROM,
    emailAddress);
    // set the destination email address
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_TO_RECIPIENTS,
    emailAddress);
    // set the content type of the email body
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_TYPE,
    "application/pdf");
    // set the document file name appeared in the email
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_FILENAME,
    PDFFile);
    // set the document to deliver
    delReq.setDocument(outFilePath + PDFFile);
    // submit the request
    delReq.submit();
    // close the request
    delReq.close();
    return true;
    } catch (DeliveryException de) {
    logFile.writeln("email process Failed: " + de.getMessage(), 0);
    return false;
    return true;
    This is the class for a JCP I created to perform the following:
    1) Launch an existing Concurrent Program that produces PDF output
    2) Grab the PDF and apply a watermark based on user input or conditions
    3) associate the modified PDF to CP output for PASTA printing
    It isn't elegant but it is fairly simple. I added the email capability and tested it but am not implementing it at the present time.
    there is a fair amount of information out there that explains how to create a JCP councurrent program but very little that demonstrates the class needed.
    I hope this helps

  • Firefox 4.0 support for printing embedded PDF files in iFrames via JavaScript

    I recently upgraded to Firefox 4.0 and can no longer print embedded PDF documents contained in an iFrame.
    My company's web application has several pages which load PDF files from a Servlet into an iFrame. The pages in question all have "Print" buttons which when clicked executes a JavaScript function to obtain reference to the iframe containing the PDF, place it into focus() (e.g., frames['pdfdoc'].focus();), and invoke print() (e.g., frames['pdfdoc'].print();). There are no errors, or exceptions caught when the JavaScript function is invoked, but the "Print" button is no longer operational.
    Does Firefox 4.0 no longer support iFrames? The issue goes away if I revert back to ver 3.6.16

    I have same issue for printing embedded PDF files in iFrames via JavaScript in Firefox 5.0.
    In previous versions it was working fine. But not in Firefox 4.0/5.0.
    Is there any solution for this problem?

  • Document Level Javascript

    Is it possible to create document level javascript ?
    I would like to create a function that I would be able to call in events.
    And is it possible to store an object (like an ADBC connection) at the document level to access it where I want ?
    Thanks.
    Laurent

    There is something called "script object". The script object is an object that you can use to store JavaScript functions and values separately from any particular form object. Typically you use the script object to create custom functions and methods that you want to use as part of scripts in many locations on your form. This technique reduce the overall amount of scripting required to perform repetitive actions.
    To add a new script object to your form:
    - Create a new form or open an existing form.
    - In the Hierarchy palette, right-click either a form-level object or a subform-level object and select Insert Script Object.
    - You can rename your script object (optional) by right-click the script object and select Rename Object.

  • Stop player via javascript.

    I am opening a flash player into a floating div. Works almost
    perfect, except that when I close the div, the movie contines to
    play. I can hear it even though I cannot see it. Is there a way to
    stop the movie from playing via javascript when I click on the
    div's "close" button?

    hello there
    look for ExternalInterface class on flash's documentation.
    basicly it allows you to define functions in JS that call
    functions inside flash and vise versa

  • Accessing Properties of Individual Tool Buttons via JavaScript

    Hi all!
    I am new to both this forum and scripting Acrobat so please excuse me if the question sounds naive.
    I am trying to find a way to access the properties of individual tool buttons via JavaScript (if there is one). I could not find it yet in JS API Reference. If anybody can help me or direct me to the right way, I will greatly appreciate that.
    For example, in 'Comment & Markup' toolbar one can right-click and change the 'Tool Default Properties' of various markup tools like Highlighter, Line, Rectangle etc. Is it possible to access these properties through JavaScript so that buttons can be added for dynamically changing these? Hope this makes sense!
    Thanks in advance for your interest and help.
    John.

    Hi Andy, thanks for the answer. It was pretty simple - I just added an authorization scheme to the report column, wehre the javascript is executed. Christof

  • Access to appraisal document via ESS is restricted by status

    Our requirement is for the appraisee to record their objectives (via ESS) and then select a 'To Manager' pushbutton to send a workflow to the manager requesting them to approve the objectives. The problem is that once the workflow has gone to the manager the appraisee cannot access the appraisal document until the manager has approved the objectives and the appraisal status has changed from 'In Planning' to 'In Process'. How can the appraiser view the appraisal document (via ESS) whilst it has the status ‘In Planning’?
    We also have a similar issue later in the process. When the appraisee selects the <Close Part Appraisal> pushbutton to signify that they have completed their self appraisal the appraisal document has status ‘In Process’. The appraisee cannot access the appraisal (via ESS) until the appraiser also completes their part appraisal and sets the status to ‘Completed’. Is there a setting to allow the appraisee to have read access to the document during this part of the process?
    Thanks and regards,
    Janet

    Hi again Maurice.
    Once the appraisal status has been set to 'Completed' the appraisee needs to Accept or Reject the appraisal but the appraisal now appears as display only (both in ESS and ECC). We are using BSP documents_received.htm for ESS
    The 'Accept' and 'Reject' pushbuttons are not active in ESS
    The 'Accept' and 'Reject' pushbuttons are active in ECC and update the appraisal status as required. However if the appraisal is rejected and the status is set back to 'In Process' the appraisal document is still display only.
    Any ideas?

Maybe you are looking for

  • How to get the specified serarch term from the complete url? - Help

    Hello, I have a table in which some columns. One of the column is storing the complete url for the search given by the user. For Example: 1. I give search like "oracle" on the Google, the column will store the complete url as "http://www.google.com/s

  • Interface mapping Object _Doesn't exist in RuntimeCache_Error_SXMB_MONI

    Hi  EXperts , Issue in XI --Dev System I have an simple IDOC  (DESADV.DELVRY03) ->Flat File Scenario . Mapping is done as per the Line of Business requirements . I have tested mapping and  I get the response as expected. We released the IDOC (Outboun

  • Newly added column not reversed by strand  reverse engineering

    Hi Guys, I have reverse engg a datastore from Oracle database and later I added one new columns in the same table at database level. Now when I am doing strand reverse Engineering from the model the newly added columns are not being reflected in ODI.

  • Is this the OS X Server Directory Administrator Account?

    Hello, I have enabled root access on my local user but I accidentally deleted the Directory Administrator account in the Server App the was under the Users tab. Now when I try to gain root access to /LDAPv3/127.0.0.1 the username and password to auth

  • Multi-language installation disk

    When I insert the installation disk (leopard or snow leopard), there is an option to choose a language. The default is English. Does anyone know if this language option is only for the process of installing the system or is for the system itself whic