How to relocate keywords file in CS3 ?

I want to put this XML file with my other data files. Can it be relocated from Documents and Settings....Bridge CS3 to elsewhere ? How do I tell Bridge where the new location is ? Thanks.

There is no rotate spread feature in CS3. (I know Bob was saying that tongue in cheek ;-) )
Workarounds: If it's just a few text blocks, you could group them and rotate them with the Rotation field on the Control panel or the Rotate tool. If it's an entire spread, you could consider saving the spread as an INDD file by itself, then placing the INDD file. You'd use Edit Original (on the Links panel) to edit the rotated spread, then save when you're done.

Similar Messages

  • How to relocate control file?

    I want to relocate my control files to a new location.. I want to know my options on how to do this (apart from shutting down db). Users are logged on most of the time. Oracle version is 9i.

    the only way i know is to shutdown the DB, change the parameter value CONTROL_FILES, copy the file to the new location and restart. Since this parameter cannot be modified online, i doubt you can do this without bouncing the instance.

  • LR 5:  How to relocate photo files when LR says the file can not be found?

    I moved my photo files to another folder and now LR can't find them.
    How do I change the LR file location to coincide with the actual location?

    Please read these instructions: Adobe Lightroom - Find moved or missing files and folders

  • CS3:How to link a file to a InDesign document?

    Hello all,<br /><br />I looked at in the LinkWatcher sample code to get an idea how to link a file to a document, I came up with the code below, the last line of code needs pageitemUID instead of pageUID which I  used it here:<br /><br />IDFile outFile = Utils<ImyUtils>()->getMyFile(); // it reads the file <br />InterfacePtr<IDataLinkHelper> dataLinkHelper(::CreateObject2<IDataLinkHelper>(kDataLinkHelperBoss)); <br />InterfacePtr<IDataLink>      dataLinkNew(dataLinkHelper->CreateDataLink(outFile)); <br /><br />IDocument* theFrontDoc = Utils<ILayoutUIUtils>()->GetFrontDocument();<br />IDataBase* database = ::GetDataBase(theFrontDoc); <br /><br />InterfacePtr<IDocument> piDoc(theFrontDoc, UseDefaultIID()); <br /><br />InterfacePtr<IPageList> pageList(piDoc, UseDefaultIID()); <br />     <br />UID pageUID(kInvalidUID);<br /><br />if (pageList->GetPageCount() >  0)<br /> {<br />     pageUID = pageList->GetNthPageUID(0);<br />}<br />// I try to link the file to the front document, although it say pageitemUID, as a second //parameter, but I don't want to link the file to a particular page item. is this a right thing to do?<br /><br />int32 result = dataLinkHelper->AddDataLink(database,pageUID, dataLinkNew); <br /><br />as I execute the code it doesn't add the file in  Link palette in CS3, but when I pass a UID of one page item such as text frame, it will add the name of file to link palette with a "1" comes to  end of row that shows how many times this file was included in the frame. but in case I have not a page item can I use the pageUID instead ?<br /><br />Thanks In Advance,<br />Mor

    Lee,
    Sorry I think I didn't use the right terminology, somehow I want to include/link the file (not with menu item 'place') programmatically in my current open Indesign document, then I expect to see the filename in Link palette. I can do this with linking to a page item in doc but I don't want to assign it to a particular page item, rather I want to assign it to doc. Is any approach to do it?
    Thanks again,
    Mor

  • [CS3][JS] How to get the file type of current document

    Hi,
    How to get the file type of current opening document (e.g., tif, jpeg, png) using JavaScript with Photoshop CS3.
    I am using file object the open the files one by one in the folder (the files sometimes don't have the extensions).
    If the current document is in tiff format then I need to convert to 8-bit, if its an Jpg image then needs to ignore the file.
    Regards,
    Karthik

    Do you really need to know the file type? What about just checking the bit depth?
    var doc = activeDocument;
    if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) {//Not 8 bit
    doc.bitsPerChannel = BitsPerChannelType.EIGHT;
    //do your save etc
    }else{
        //Ignore

  • How to relocate additional content files?

    Hello.
    I have a MacBook Pro 15" late 2011. Mac OS 10.8.2 is installed on the 128 Gb SSD drive, and my "Home" directory and all files needed for my work, I placed on 1TB HDD in OptiBay.
    I have a problem with Logic Pro 9.1.8 Installation process.
    Can I install additional content from Logic Pro to HDD or relocate content files after installation? I'm using many "heavy" software and plug-ins in my work, and very important to me how much free space is left on the system drive.

    Thanks for the quick reply.
    CCTM wrote:
    Hi
    The download installers will not let you install anywhere except the OS drive.
    Whilst you could move *most* of the content to another drive, it is probably easiest to start with the AppleLoops themselves:
    Library:Audio:Apple Loops:Apple.
    When you move them, you will need to re-index the Loop Browser: simply drag the new (moved) folders in the Finder on top of the Loop Browser in Logic.
    It might be best to leave the 'basic' Garageband loops where they are.
    If you need to make even more room on your boot drive, you could think about moving the JamPack sampler instruments (around 14G), but this could cause some issues with the EXS not finding the samples in  their new location. Similarly, you could move the Factory EXS samples (4G), with the same caveat.
    HTH
    CCT
    Reindex database happen automatically? Will there files be duplicated?

  • How to export keywords, CS3 to CS4

    I have CS3 on my old computer, under Win XP, and CS4 on my new, under Windows 7 RC. I have about 20,000 photos, all with Bridge keywords, applied in CS3.
    The photos are on an external HD. (They're also backed up in at least 3 places.) In my old computer the photos taken in the past 5 years have keywords in Bridge. In my new computer the same photos, on the same drive, have no keywords, though earlier ones do.
    I have done all the things I'm supposed to do: trashed my Bridge prefs, deleted the entire cache, rebuilt it by reindexing, exported the keywords from the old computer to the new, exported the cache to individual folders as well as a centralized cache. Nothing works. I'm faced with a long, hard job of re-applying keywords to 10,000 or so files.
    Is there anything I can do?
    Can anyone tell me why half my photographs have retained their keywords and the other half lost them? I thought keywords were embedded in the metadata, and that the metadata survived transportation from one system to another, and over the web, and so forth. It's dismayingto learn that I spent so much time working out a system for keywords, and applying them, only to find that I've got to do it all again.
    I don't think it's anything to do with Windows 7 RC, which seems stable and well-behaved.
    Mary

    Curt
    >Just to be clear CS4 you see some, but not all keywords, or in CS4 you see no keywords?<
    I've made more sense of the problem. It's to do with Olympus Raw files - .orf. I've been shooting in Olympus camera raw since 2004.
    My workflow is: import the raw files into Bridge via a card reader; rename them in Bridge as [filename].ORF, apply keywords, edit them in Adobe Camera Raw, save them as [filename].PSD (or sometimes .TIF or .JPG), move the PSDs to a working folder, edit them in Photoshop, and finally move them to a 'Finals' folder.
    In Bridge CS3, in my old computer, I can see all keywords for ORF files. I can also see all keywords for the working and final PSDs, TIFs and JPGs.
    In Bridge CS4, in my new computer, I cannot see any keywords for ORF files, or for the working and final PSDs, etc.
    I can only see keywords for files which started life as TIFs - photos scanned with my negative scanner or flatbed scanner.
    This is also true in both Bridge CS3 and Bridge CS4 in my new laptop, which is running XP Pro. I could see the keywords in my old laptop, but not in my new one.
    >If you right click on file info in Bridge do you have the keyword listed in keyword box?  Do the same with Windows Explorer and see if keyword is listed in Properties/details.<
    'Keyword' isn't listed in Windows Explorer, though everything else under the sun is.
    The keywords are listed if I right click in Bridge CS3 on a file in my old computer. And if I click on Advanced, and expand the categories, e.g. XMP or Dublin Core Props, I get a heading 'xap:Keywords (bag container)', and a list of all the keywords attached to the file.
    But the same file in CS3 in the laptop, or CS4 in laptop or new computer, has no keywords in Advanced.
    I've had a quick look on the web for topics connected with Olympus camera raw/orf/losing keywords, but so far haven't found anything.
    Mary

  • Please help! How do i open Nikon D610 raw files in cs3 on a mac OS X 10.6

    how do i open d610 raw files in cs3 on a mac OS X 10.6
    I clearly have issues supporting these files on such an old laptop but these images are critical and I would appreciate any download advise or other??

    Download the free Adobe DNG converter, convert your files to DNG and CS3 should be able to open them.
    Photoshop Help | Digital Negative (DNG)

  • Can I open a Nikon D700 NEF file in CS3? If so, how?

    Can I open a Nikon D700 NEF file in CS3? If so, how?

    Yes, you can.  You just need to update your Camera Raw plug-in to version 4.6, which is the last version to run with CS3.

  • How to SCAN uploaded files for VIRUS in APEX

    part 1:
    Goal:
    Do a virus scan of the uploaded file from APEX application prior to storing the file in custom tables.
    The process:
    Followed the document from www.developer.com:
    Implementing an Anti-Virus File Scan in JEE Applications
    By Vlad Kofman
    Go to page: 1 2 3 Next
    This article will discuss one of the ways to implement antivirus file scanning in Java, particular in the JEE applications. Viruses, Trojan Horses, and different malware and spyware are a real problem for current computer environments, and especially for the Windows operating system. If you are designing any application in Java that has a requirement to be able to upload external files, you have a potential security risk. By uploading, I mean any way to get the external file inside of the corporate firewall be it via HTTP protocol or any other means. It is quite common to have this type of requirement in an enterprise application and with Java being one of the most popular web development platforms, it is unfortunate that this type of gaping security risk is quite often overlooked.
    Java's Development Kit (JDK) does not have any means to do the antivirus scan right out of the box. This is primarily because Java is a programming language, and does not have any virus scanning packages. Furthermore, anti-virus software is not Sun's area of expertise or business model. Developing this type of software (or Java package), and more importantly maintaining it, would be a huge task for Sun. Mainly because viruses are constantly evolving and keeping virus definitions up-to-date is a daunting task. Large companies such as McAffee, Symantec, or Zone Labs develop virus detecting and combating products and spend a lot of resources to maintain them.
    Application Environment
    To implement a virus file scan in Java, a third-party package needs to be used. For the purposes of this article, I will use Symantec Scan Engine (SSE) package, which comes with Java APIs. This package is an application that serves as a TCP/IP server and has a programming interface and enables Java applications to incorporate support for content scanning technologies. For this article, I used Symantec Scan Engine 5.1, which is available as a Unix or Windows install.
    If you are using an anti-virus package from the different vendor, you will need to investigate what kind of APIs are available; however, the general approach should be similar. Also, note that my implementation can be used with JEE technology and any modern MVC framework such as Struts or Spring.
    The architecture is as follows: A server machine needs to have SSE running at all times. This can be the same machine that hosts your Application Server, but in an enterprise environment this should be a different machine. The Default Port needs to be open through the firewall to allow communication with the scan engine. All JEE applications that need to do file scanning can talk to the SSE server machine through a default port. Also, multiple applications running on different application servers can re-use the same scanning server. For more information, you should refer to the Symantec Scan Engine (SSE) Installation Guide, available on the Symantec web site.
    When an external file that needs to be scanned is sent to the SSE via its programming interface (Java APIs using the default port), before any other operation on the file is performed, the SSE returns a result code. For instance, a file is uploaded by an external user into the web email type application as an attachment; then, the SSE API is invoked by the application and the return code of pass or fail determines the outcome of the upload and whether that email can actually be sent. If you have an account on Yahoo mail, you probably have seen that Yahoo is using Norton Antivirus to scan all attachments, although no Java.
    Click here for a larger image.
    Figure 1: Screen shot from Yahoo
    For details on the Scan Engine Server Installationm please see the Symantec Scan Engine (SSE) Implementation Guide from Symantec.
    Here are some key things to remember about SSE:
    •     Java 2 SE Runtime (JRE) 5.0 Update 6.0 or later must be installed on the server before the SSE installation is done.
    •     After installation, verify that the Symantec Scan Engine daemon is running. At the Unix command prompt (if it's a Unix install), type the following command:
    ps –ea | grep sym.
    A list of processes similar to the following should appear:
    o     5358 ? 0:00 symscan
    o     5359 ? 0:00 symscan
    If nothing is displayed the SSE process did not start.
    If the SSE process did not start, type the following command to restart SSE:
    /etc/init.d/symscan restart
    •     Keeping the virus definition up to date is the most important task and if new updates are not installed, the whole scan becomes ineffective. Symantec automatically downloads the most current file definitions through LiveUpdate. Please make sure that firewall rules are in place to allow the host server to connect to the Symantec update service.
    Project Setup
    For the purposes of this article, I included a wrapper for the Symantec SSE APIs, av.jar, which has Symantec Java APIs and serves as a client to the SSE server and takes care of all communications with the server. Please refer to the download source section. The av.jar should be included in the Java CLASSPATH to work with the SSE. This jar contains a class called AVClient that takes care of actually sending the files to SSE as byte arrays and returning the result.
    In my project setting, I added three variables to be accessed via the System.getProperty mechanism. For example:
    AV_SERVER_HOST=192.168.1.150
    AV_SERVER_PORT=1344
    AV_SERVER_MODE=SCAN
    The AV_SERVER_HOST is the host name or IP of the machine where Scan Engine is installed.
    The AV_SERVER_PORT is the port where Scan Engine listens for incoming files.
    The AV_SERVER_MODE is the scan mode which can be:
    •     NOSCAN: No scanning will be done (any keyword that does not start with "SCAN" will result in ignoring the call to the Scan Engine and no files will be transferred for scanning).
    •     SCAN: Files or the byte stream will be scanned, but the scan engine will not try to repair infections.
    •     SCANREPAIR: Files will be scanned, the scan engine will try to repair infections, but nothing else will be done.
    •     SCANREPAIRDELETE: Files will be scanned, the scan engine will try to repair infections, and irreparable files will be deleted.
    Note: For the file stream (byte array) scanning, the only meaning full values are "SCAN" and "NOSCAN".
    Using the SSE Scanning Java APIs
    In any class where scan is required, call the scanning API provided in the AVClient object located in the av.jar. The AVClient object will establish connection to the Scan Engine server and has the following APIs:
    Figure 2: The significant APIs for the communication with to the Scan Engine Server.
    If scanning a file on the file system, in SCAN only mode, use the call that accepts filename only.
    If scanning a file on the file system, with SCANREPAIR or SCANREPAIRDELETE, use the call that accepts input and output file names.
    If scanning an in-memory file (byte array), use the call accepting byte array.
    For example:
    import com.av.*;
    Initialize setup parameters:
    static String avMode =
    (System.getProperty("AV_SERVER_MODE") != null)
    ? (String) System.getProperty("AV_SERVER_MODE") : "NOSCAN";
    static boolean scan = avMode.startsWith("SCAN");
    static String avServer =
    (String) System.getProperty("AV_SERVER_HOST");
    static int avPort =
    Integer.parseInt( (String) System.getProperty("AV_SERVER_PORT"));
    Scan check example for an in-memory file byte array:
    public void scanFile(byte[] fileBytes, String fileName)
    throws IOException, Exception {
    if (scan) {
    AVClient avc = new AVClient(avServer, avPort, avMode);
    if (avc.scanfile(fileName, fileBytes) == -1) {
    throw new VirusException("WARNING: A virus was detected in
    your attachment: " + fileName + "<br>Please scan
    your system with the latest antivirus software with
    updated virus definitions and try again.");
    Note that if you are using this code inside of the MVC handler, you can throw a custom VirusException and check for it in the calling method and perform any necessary cleanup. I have included the class in the AV Jar as well.
    For example:
    catch (Exception ex) {
    logger.error(ex);
    if (ex instanceof VirusException) {
    // do something here
    else {
    // there was some other error – handle it
    For more details on the Scan Engine Client API, please see Symantec Scan Engine Software Developers Guide.
    Continuation in part2

    part 4:
    c)     Clienttester.java – This is the gui app set to test if the configuration is working or not. This gui uses the method scanfile(inputfile, outputfile) as you can see the result in the outputpane of the jframe.
    * clienttester.java
    * Created on April 12, 2005, 2:37 PM
    * @author george_maculley
    package com.av;
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class clienttester
    implements ActionListener {
    // private String ipaddress = "127.0.0.1";
    private String ipaddress = "199.209.150.58";
    //private String ipaddress = "192.168.0.55";
    static JFrame frame;
    JFileChooser chooser = new JFileChooser();
    TextField pathtofile = new TextField(System.getProperty("user.home"), 30);
    // TextField pathtooutfile= new TextField(System.getProperty("user.home"),30);
    private int port = 1344;
    JButton filechooser = new JButton("Browse to file"); ;
    private String originalfilename;
    private String outputfilename;
    JButton scanbutton = new JButton("Scan");
    TextArea outputarea = new TextArea(20, 40);
    TextField iptext = new TextField("127.0.0.1", 16);
    TextField porttext = new TextField("1344", 5);
    AVClient mine;
    JRadioButton choosescan = new JRadioButton("SCAN");
    // JRadioButton choosedelete= new JRadioButton("SCANREPAIRDELETE");
    /** Creates a new instance of gui */
    public clienttester() {
    public clienttester(java.lang.String ip, java.lang.String infile, java.lang.String outfile, int port) {
    this.ipaddress = ip;
    this.port = port;
    this.originalfilename = infile;
    this.outputfilename = outfile;
    boolean setValues(java.lang.String ip, java.lang.String infile, java.lang.String outfile, int port) {
    this.ipaddress = ip;
    this.port = port;
    this.originalfilename = infile;
    this.outputfilename = outfile;
    return (true);
    public void actionPerformed(java.awt.event.ActionEvent actionEvent) {
    JComponent c = (JComponent) actionEvent.getSource();
    if (c == filechooser) {
    int retval = chooser.showDialog(frame, null);
    if (retval == JFileChooser.APPROVE_OPTION) {
    File theFile = chooser.getSelectedFile();
    if (theFile != null) {
    pathtofile.setText(theFile.getPath());
    // pathtooutfile.setText(theFile.getPath());
    JOptionPane.showMessageDialog(frame, "You chose this file: " + theFile.getPath());
    if (c == scanbutton) {
    //return object that can be passed to AVClient
    String policy;
    int thisport;
    int scanresult;
    String thisip;
    String inputfile;
    String outputfile;
    outputarea.append("Server: " + iptext.getText() + "\r\n");
    if (choosescan.isSelected()) {
    policy = "SCAN";
    else {
    policy = "SCANREPAIRDELETE";
    thisport = new Integer(porttext.getText()).intValue();
    thisip = iptext.getText();
    //mine= new AVClient(iptext.getText(),porttext.getText(),policy);
    mine = new AVClient(iptext.getText(), thisport, policy);
    if (mine.test() == 1) {
    outputarea.append("Sorry. Incorrect parameters specified.\r\n");
    System.exit(1);
    else {
    outputarea.append("Connection to SAVSE initialized.\r\n");
    inputfile = pathtofile.getText();
    // outputfile=pathtooutfile.getText();
    outputfile = "/tmp";
    outputarea.append("Scanning file " + inputfile + " \r\n");
    if (policy == "SCAN") {
    scanresult = mine.scanfile(inputfile);
    else {
    scanresult = mine.scanfile(inputfile, outputfile);
    if (scanresult == 0) {
    outputarea.append("File is clean.\r\n");
    else if (scanresult == -1) {
    outputarea.append("File is infected. \r\n");
    else {
    outputarea.append("Scan error.\r\n");
    void display() {
    Frame f = new Frame("SAVSE JAVA ICAP Client");
    f.setLayout(new GridLayout(1, 2));
    JPanel lpanel = new JPanel(new GridLayout(7, 1));
    JPanel ippanel = new JPanel();
    JPanel portpanel = new JPanel();
    JPanel rpanel = new JPanel();
    JPanel outputpanel = new JPanel();
    JPanel buttonpanel = new JPanel();
    JPanel pathpanel = new JPanel();
    // JPanel outpathpanel= new JPanel();
    JPanel policypanel = new JPanel();
    ButtonGroup policygroup = new ButtonGroup();
    filechooser.addActionListener(this);
    scanbutton.addActionListener(this);
    choosescan.setSelected(true);
    policygroup.add(choosescan);
    // policygroup.add(choosedelete);
    buttonpanel.setBorder(BorderFactory.createTitledBorder("Scan Policy"));
    buttonpanel.add(choosescan);
    // buttonpanel.add(choosedelete);
    pathpanel.setBorder(BorderFactory.createTitledBorder("Path to File"));
    pathpanel.add(pathtofile);
    f.setSize(new Dimension(650, 400));
    f.setBackground(Color.white);
    f.setResizable(true);
    ippanel.setBorder(BorderFactory.createTitledBorder("SAVSE IP Address"));
    ippanel.add(iptext);
    outputpanel.setBorder(BorderFactory.createTitledBorder("OUTPUT"));
    outputpanel.add(outputarea);
    portpanel.setBorder(BorderFactory.createTitledBorder("ICAP Port"));
    portpanel.add(porttext);
    // outpathpanel.setBorder(BorderFactory.createTitledBorder("Path to Repair File"));
    // outpathpanel.add(pathtooutfile);
    lpanel.add(ippanel);
    rpanel.add(outputpanel);
    lpanel.add(portpanel);
    lpanel.add(buttonpanel);
    lpanel.add(pathpanel);
    // lpanel.add(outpathpanel);
    lpanel.add(filechooser);
    lpanel.add(scanbutton);
    f.add(lpanel);
    f.add(rpanel);
    f.setVisible(true);
    public static void main(String[] args) {
    clienttester g = new clienttester();
    g.display();
    d)     my2.java – This is the class file I wrote to test that I am able to send a file and scan it and see the output in the JDEVELOPER. In this case the file is stored on the filesystem of the client machine. JDEVELOPER should be able to see the file.
    NOTE:
    “EICAR.com” is the test file downloaded from Symantec site to test a non malicious virus file. I n order to be able to test it like this, the Antivirus program running on your machine should be disabled, or else Antivirus will kick in and delete the file. In the first place you will not be able to download the test virus file either with anti virus running on the machine you are downloading to.
    package com.av;
    import java.io.*;
    public class my2 {
    static int my_return = 0;
    * @param fileBytes
    * @param fileName
    * @return
    public static int scanfile(String fileName){
    String avMode = "SCAN";
    boolean scan = avMode.startsWith("SCAN");
    String avServer = "xx";--avserver ip address
    int avPort = 1344;
    int the_return = 0;
    if (scan) {
    AVClient avc = new AVClient(avServer,avPort,avMode);
    the_return = avc.scanfile(fileName);
    if (the_return == -1) {
    return (the_return);
    } else
    return (the_return);
    //my_return = the_return;
    return (the_return);
    public static void main(String[] args) throws Exception {
    System.out.println("Hi there in Main");
    byte[] b1 = new byte[4];
    b1[1] = 68;
    my_return = scanfile("c:\\eicar.com");
    System.out.println(my_return);
    e)     Then finally we have my1.JAVA, which takes the filename, and it’s contents in the bytes form and scans the file. The reason for this method is we are not storing the file on the filesystem, it is read into the memory and only if it is clean, it is put into the database or else notify the user.
    package com.av;
    import java.io.*;
    public class my1 {
    static int my_return = 0;
    static int a_length = 0;
    * @param fileBytes
    * @param fileName
    * @return
    public static int scanfile(String fileName,byte[] fileBytes) throws IOException {
    String avMode = "SCAN";
    boolean scan = avMode.startsWith("SCAN");
    String avServer = "xxx";--avserver’s ip address
    int avPort = 1344;
    int the_return = 0;
    if (scan) {
    AVClient avc = new AVClient(avServer,avPort,avMode);
    // File file = new File(fileName) ;
    //byte[] fBytes = getBytesFromFile(file);
    the_return = avc.scanfile(fileName, fileBytes);
    if (the_return == -1) {
    return (the_return);
    } else
    {return (the_return);}
    my_return = the_return;
    return (the_return);
    // Returns the contents of the file in a byte array.
    * @param file
    * @return
    * @throws IOException
    public static byte[] getBytesFromFile(File file) throws IOException {
    InputStream is = new FileInputStream(file);
    // Get the size of the file
    long length = file.length();
    // You cannot create an array using a long type.
    // It needs to be an int type.
    // Before converting to an int type, check
    // to ensure that file is not larger than Integer.MAX_VALUE.
    if (length > Integer.MAX_VALUE) {
    // File is too large
    // Create the byte array to hold the data
    byte[] bytes = new byte[(int)length];
    // Read in the bytes
    int offset = 0;
    int numRead = 0;
    while (offset < bytes.length
    && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
    offset += numRead;
    // Ensure all the bytes have been read in
    if (offset < bytes.length) {
    throw new IOException("Could not completely read file "+file.getName());
    // Close the input stream and return bytes
    is.close();
    return bytes;
    // public static void main(String[] args) throws Exception {
    //System.out.println("Hi there in Main");
    // File file = new File() ;
    // byte[] b1 = getBytesFromFile(file);
    //System.out.println(b1);
    // my_return = scanfile(,b1);
    //System.out.println(my_return); }
    Finally , you have the exceptions file,
    e) package com.av;
    public class VirusException
    extends Exception {
    public VirusException() {
    super();
    public VirusException(String text) {
    super(text);
    Once you have all these classes, you can use JDEVELOPER , to load these classes into the database: This is as follows:
    Right click on the project, which has all these classes.
    NEW -> deployment profiles -> load java and stored procedures.
    When you are created deployment profile, you have to specify,
    Loadjava options.
    -f, -v (check the check boxes)
    Under privileges:
    -s – specify database schema these classes are loaded into
    -s – create sysnonym check box
    -g – grant to public or any specific users per your policy.
    Under Resolver,
    -r and –o (check the check boxes)
    I accepted the default name storedproc1. Then you right click on the storedproc1.deploy, deploy to whichever database connection you created.
    And then, In order to access this java class we need a pl/sql wrapper as follows:
    create or replace package my1 is
    function mycheck (pfilename in varchar2, psize in number)
    return number;
    end my1;
    create or replace package body my1 is
         function mycheck (pfilename in varchar2, psize in number)
    return number is
    language java
         name 'com.av.my1.scanfile(java.lang.String, byte[]) return int';
         end my1;
    And the code is invoked from sql plus as follows:
    Select my1.mycheck(“filename”, “filebytes”) from dual;
    One important catch in the above method is to send the filename and filecontents in bytes form. In order to send the file contents as filebytes, you will need another java class and load into the data base as described above.
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    * This program demonstrates how to read a file into a byte array. This method
    * reads the entire contents of the file into a byte array.
    * @version 1.0
    * @author Jeffrey M. Hunter ([email protected])
    * @author http://www.idevelopment.info
    public class ReadFileIntoByteArray {
    * method to convert a byte to a hex string.
    * @param data the byte to convert
    * @return String the converted byte
    public static String byteToHex(byte data) {
    StringBuffer buf = new StringBuffer();
    buf.append(toHexChar((data >>> 4) & 0x0F));
    buf.append(toHexChar(data & 0x0F));
    return buf.toString();
    * Convenience method to convert an int to a hex char.
    * @param i the int to convert
    * @return char the converted char
    public static char toHexChar(int i) {
    if ((0 <= i) && (i <= 9)) {
    return (char) ('0' + i);
    } else {
    return (char) ('a' + (i - 10));
    * Returns the contents of the file in a byte array
    * @param file File this method should read
    * @return byte[] Returns a byte[] array of the contents of the file
    private static byte[] getBytesFromFile(File file) throws IOException {
    InputStream is = new FileInputStream(file);
    System.out.println("\nDEBUG: FileInputStream is " + file);
    // Get the size of the file
    long length = file.length();
    System.out.println("DEBUG: Length of " + file + " is " + length + "\n");
    * You cannot create an array using a long type. It needs to be an int
    * type. Before converting to an int type, check to ensure that file is
    * not loarger than Integer.MAX_VALUE;
    if (length > Integer.MAX_VALUE) {
    System.out.println("File is too large to process");
    return null;
    // Create the byte array to hold the data
    byte[] bytes = new byte[(int)length];
    // Read in the bytes
    int offset = 0;
    int numRead = 0;
    while ( (offset < bytes.length)
    ( (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) ) {
    offset += numRead;
    // Ensure all the bytes have been read in
    if (offset < bytes.length) {
    throw new IOException("Could not completely read file " + file.getName());
    is.close();
    return bytes;
    * @param filename
    public static byte[] chk_file(String filename) {
    byte[] fileArray = null;
    try {
    fileArray = getBytesFromFile(new File( filename));
    } catch (IOException e) {
    e.printStackTrace();
    if (fileArray != null) {
    for (int i=0; i<fileArray.length; i++) {
    System.out.println(
    "fileArray[" + i + "] = " +
    ((int)fileArray[i] < 9 ? " " : "") +
    ( ((int)fileArray[i] > 9 && (int)fileArray[i] <= 99) ? " " : "") +
    fileArray[i] + " : " +
    " HEX=(0x" + byteToHex(fileArray) + ") : " +
    " charValue=(" + (char)fileArray[i] + ")");
    return fileArray;
    * Sole entry point to the class and application.
    * @param args Array of String arguments.
    public static void main(String[] args) {
    byte[] fileArray = null;
    try {
    fileArray = getBytesFromFile(new File("c:\\eicar.com"));
    } catch (IOException e) {
    e.printStackTrace();
    if (fileArray != null) {
    for (int i=0; i<fileArray.length; i++) {
    System.out.println(
    "fileArray[" + i + "] = " +
    ((int)fileArray[i] < 9 ? " " : "") +
    ( ((int)fileArray[i] > 9 && (int)fileArray[i] <= 99) ? " " : "") +
    fileArray[i] + " : " +
    " HEX=(0x" + byteToHex(fileArray[i]) + ") : " +
    " charValue=(" + (char)fileArray[i] + ")");
    Having main method helps you to run the file in JDEVELOPER or using JAVA.
    DO not forget to load this class into the database.
    And you create the pl/sql wrapper again as follows:
    create or replace FUNCTION TOBY (pfilename in varchar2) RETURN VARCHAR2 iS
    language java name
    'ReadFileIntoByteArray.chk_file(java.lang.String) return byte[]';
    And you call the function from sqlplus as follows:
    Sql>Set serveroutput on size 20000;
    Sql> call dbms_java.set_output(20000);
    Sql> Select toby(“filename”) from dual; --
    this file should be accessible, I mean you will not be able to send a file on your pc, from sql plus as sql/plus is running on your db server.
    You will be able to see the output in sql plus:
    If you are running it from the APEX:
    When we use file browser widget from APEX, the file is stored in APEX_APPLICATION_FILES table. And we retrieve that into a variable and pass this variable to the function as follows:
    DECLARE
    scan_failed EXCEPTION;
    x varchar2(400);
    z number;
    BEGIN
    select filename into x from wwv_flow_files where name = :P1_FILE_NAME;
    select my1.mycheck(x,toby(x)) into z from dual;
    if z = 0 then
    :P1_SUBJECT:= 'PASSED';
    else
    :P1_SUBJECT:= 'FAILED';
    end if;
    :P1_SCAN_RESULT := '** Scanning File **';
    IF UPPER(:P1_SUBJECT) = 'PASSED' THEN
    BEGIN
    :P1_SCAN_FLAG := 'PASSED';
    :P1_SCAN_RESULT := :P1_SCAN_RESULT || ' ** File passed scan **';
    END;
    ELSIF UPPER(:P1_SUBJECT) = 'FAILED' THEN
    BEGIN
    :P1_SCAN_FLAG := 'FAILED';
    :P1_SCAN_RESULT := :P1_SCAN_RESULT || ' ** File failed scan **';
    END;
    ELSE
    BEGIN
    :P1_SCAN_FLAG := 'UNKNOWN';
    :P1_SCAN_RESULT := :P1_SCAN_RESULT || ' ** Scan Is Not Conclussive **';
    END;
    END IF;
    --IF :P1_SCAN_FLAG = 'FAILED'
    -- THEN RAISE scan_failed;
    --END IF;
    EXCEPTION
    WHEN OTHERS THEN
    DELETE from APEX_APPLICATION_FILES WHERE name = :P1_FILE_NAME;
    RAISE_APPLICATION_ERROR (-20000, 'seb OTHERS error encountered - file upload not allowed. Possible virus detected !');
    raise;
    END;
    ACKNOWLEDMENTS:
    1) JOHN SCOTT – who suggested this ICAP API in one of the threads which is my initial starting point in this direction.
    2) VLAD KOFMAN who wrote the article on WWW.DEVELOPER.com
    3) Mr. KIRAN –One of the engineers from Metalink, who helped me at every step of getting this java programs and pl/sql wrappers working. But for him, I would have not completed my project.

  • How to read ZIP files(having PDFs,Image) using MQ Series link for R/3

    Hi,
    1)Is it possible to transfer a zip file (having an image or pdf) using IDocs in SAP 4.6C using MQ Series link for R/?
    Scenario: "MQ Series link for R/3" converts Business-Reports from a third-party software,into SAP IDocs.Each Business-Report contains one XML file and one ZIP file.
    2)Being on ABAP side,do I have to worry about how the zip file would be converted into IDocs?
    Detailed descrption:
    This scenario requires integration of a non-SAP software which talks in XML with SAP R/3(4.6C).The customer has decided to go with 'MQ Series link for R/3' (which integrates any non-SAP application running on IBM MQ Series to R/3,by converting data(in any format) into IDocs).He is not ready to go for XI.
    The Problem area is a functionality which requires the non-SAP software to send XML file along with an attached Zip file.So,XML document,basically,has a 'zippedFile' XML element having actual file in XML keyword 'file'.
    This XML document ideally, should be converted by the subsystem(MQSeries link for R/3) into IDocs i.e. into a stream which could be stored in a table on R/3 side and later, sent back to the non-SAP software through MQ Series link to be converted into zip-file again with corresponding pdfs,images.I want someone who has worked in a similar scenario to confirm this.

    Hi,
    I have a feeling I have posted this question in the wrong forum or maybe I will let you decide this.Any help would be appreciated (even the right forum name).
    My scenario requires integration of a non-SAP software which talks in XML with SAP R/3(4.6C).The customer has decided to go with 'MQ Series link for R/3' (which integrates any non-SAP application running on IBM MQ Series to R/3,by converting data(in any format) into IDocs).He is not ready to go for XI.
    The Problem area is a functionality which requires the non-SAP software to send XML file along with an attached Zip file.So,XML document,basically,has a 'zippedFile' XML element having actual file in XML keyword 'file'.
    This XML document ideally, should be converted by the subsystem(MQSeries link for R/3) into IDocs i.e. into a stream which could be stored in a table on R/3 side and later, sent back to the non-SAP software through MQ Series link to be converted into zip-file again with corresponding pdfs,images.I wanted someone who has worked in a similar scenario to confirm this.

  • Opening Camera Raw file in CS3 Bridge

    I have CS3 Bridge and CS3 Dreamweaver instaled as well as Photoshop CS2.
    I want to open Camera Raw files in CS3 Bridge. The Bridge Help file says:
    "Select 'Edit Camera Raw Settings' in Bridge General Preferences to open Camera Raw dialog box in Bridge" (as opposed to opening in Photoshop.)
    But my Bridge General Preferences has no such checkbox option. When I open a CR file in CS3 Bridge, the file opens in Photoshop CS2.
    How do I get the file to open in CS3 Bridge.
    Thanks, CMA

    I had a problem with this previously and came up with the following:
    If I am in Bridge and double click a JPEG or TIFF and hold down the shift key, Camera Raw will not be scheduled
    If I am in Bridge and double click a JPEG or TIFF image, the image will always schedule Camera Raw if the Bridge menu item Edit/Preference/Thumbnails has Adobe Camera Raw for JPEG and TIFF checked (Bridge JPEG and TIFF Checked).
    If I am in Bridge and double click a JPEG or TIFF image and Bridge JPEG and TIFF is unchecked and the JPEG or TIFF image has previously been processed by Camera Raw, Camera Raw will be scheduled if Camera Raw Preferences dialog has Always open JPEG files with settings using Camera Raw or Always open TIFF files with settings using Camera Raw checked.
    If I am in Bridge and double click a TIFF image and the TIFF file has layers, the TIFF file will not schedule Camera Raw.
    In Photoshop Preferences (Edit/Preference/File Handling) there is a check box titled Prefer Adobe Camera Raw for JPEG files. I checked the check box and opened a JPEG image in Photoshop Camera Raw was scheduled. I clicked Open Image in ACR and then saved the image in Photoshop (JPEG saved in Photoshop after passing thru ACR). I then Unchecked the check box and opened the JPEG file Camera Raw was not scheduled.
    The only action I see for the Photoshop File Handling check box is to either schedule or not to schedule JPEG images. I do not see any related action for TIFF files in Photoshop. My expectation is that TIFF files will open in Photoshop not ACR.

  • How to reconnect master files in recovered folder to Aperture

    Aperture 3 crashed and somehow it spit out all its master files and dumped them in a directory called 'Pictures Recovered Photos'. All files in Aperture show the 'Master Not Found' badge (arrow with yellow exclamation point triangle). How do I tell Aperture that the master file it's looking for sits in the 'Pictures Recovered Photos' folder?
    I tried the 'Locate Referenced Files' command but that obviously doesn't work because the pictures are not referenced. The master files were imported before something went wrong.
    To make matters worse, the 'Pictures Recovered Photos' folder contains about 56k files, while I only have about 13k masters. Upon further inspection, I noticed that most masters had several copies of themselves:
    e.g. here are all the files matching picture DSC00131 in the 'Pictures Recovered Photos' folder:
    DSC00131.JPG
    DSC00131.JPG.jpg
    DSC00131.JPG_2.jpg
    thumb_DSC00131.JPG.jpg
    thumb_DSC00131.JPG_2.jpg
    thumb_DSC00131.JPG_face0.jpg
    thumb_DSC00131.JPG_face0_2.jpg
    thumb_DSC00131.JPG_face1.jpg
    thumb_DSC00131.JPG_face1_2.jpg
    thumb_DSC00131.JPG_face2.jpg
    thumb_DSC00131.JPG_face2_2.jpg
    Any suggestions on how to get out of this mess?

    First wanted to see if someone had seen this situation before
    The subject of Aperture completely aside, it is not uncommon for files to sprout in unexpected places when there are disk problems. If you have not already done so you should use Disk Utility to Verify the disk(s) where your masters and Aperture app and library reside before you attempt to do anything else. While you are in Disk Utility check the S.M.A.R.T status as well. If you try to fix things within Aperture you could make things worse if your disks aren't in tip-top shape.
    I'm new to Aperture so I will leave advice on how to relocate your masters to experienced users.

  • Delete files in Open Recent Files list - CS3

    Is it possible to delete single files in the "Open Recent Files" list
    or specify how many recently opened files are be shown?
    I am using CS3 (5.0.3).
    Thanks

    No and no, although Adobe themself doesn't seem to have any problems with this -- every single update kills the list (to my chagrin).
    Can't imagine any bona fide reason you'd want to. It's not like it's meant as sort of kind of Document organizing feature, as if.

  • How do I update my InDesign CS3 plugins? I received a document from a colleague created in CS3 and I can't open it due to missing plugins.

    How do I update my InDesign CS3 plugins? I received a document from a colleague created in CS3 and I can't open it due to missing plugins.

    The error message is below. When I get info on the file it says it's a CS3 file.

Maybe you are looking for

  • Can I use my 24 inch' 2007 imac as an external monitor for my PC

    can I use my 24 inch' 2007 imac as an external monitor for my PC

  • Partitioning option in standard edition

    Dear all, Our company procured license for 10.2 standard edition db. Can we use partitioning option in this edition

  • JSP controller

    Hi,           I have defined in the web.xml a controller jsp for a url-pattern           (/myroot/mydir/*),           what happens is that the controller now also receives the requests for the           images under           that url-pattern ( for e

  • Publish Photo refuses to work

    Hi all, I've done a bit of troubleshooting and still cannot resolve this issue. I was trying to load an iphone photo to my mobileme gallery today and it would not work, would not connect. It would give me the following message: "Check your MobileMe n

  • Forcing Exchange to check SPF

    Hi, i receive emails from outside in my exchange edge server (2010 SP3) with my accepted domain and they are definitely spams assume test.com is my registered domain and defined in accepted domains and a spammer by address ([email protected]) sends a