Extracting Image from Internet

Hi,
Am trying to extract an image from a URL as follows:
try
BufferedImage input = ImageIO.read(new URL("http://www.google.co.in/images/close_sm.gif"));
File outputFile = new File("image.png");
ImageIO.write(input, "PNG", outputFile);
catch(Exception e)
System.out.println(e);
}The URL is a valid one. But still I get the following error :
javax.imageio.IIOException: Can't get input stream from URL!Any idea where I am going wrong ?
Thanks for any help ..

Hi ashokkumar!
Doc says there isn't an registered ImageReader!?!?
Circumvent the problem obtaining an input stream from a HttpURLConnection via method getInputStream:
HttpURLConnection conn = new HttpURLConnection(
new URL("http://www.google.co.in/images/close_sm.gif"));
conn.setRequestMethod("GET");
conn.connect();
BufferedImage input = ImageIO.read( conn.getInputStream() );
conn.disconnect();
If still find exceptions, check the connection response code
code = conn.getResponseCode();
and try to "negotiate" with server via HttpURLConnection methods like:
conn.setRequestProperty("User-Agent", yourUserAgent);
This (sometimes) helps to avoid "deny of service" on HTTPD server against some kind of requests.
[]'s.
P.S.: They try...we always sniff.

Similar Messages

  • Which is better? Extracting images from directories or from database?

    Good day,
    I would like to start a discussion on extracting image (binary data) from a relational database. Although some might say that extracting image from directories is a better approach, I m still sceptic on that implementation.
    My argument towards this is based on the reasonings below:
    1. Easier maintainence. - System Administrator can do backup from one place which is the database.
    2. High level of security - can anyone tell me how easy it is to hack into a database server?
    3. image is not dependent on file structure - no more worries about broken links because some one might mistakenly change the directory structure. If there needs to be a change, it will be handle efficiently by the database server.
    The intention of my question is to find out :
    1. Why is taking image from a directory folder which resides on the web server is better than using the same approach from the database?
    2. How is this approach (taking image from directory) scalable if there is thousands of images and text that needs to be served?
    If anybody would be kind enough to reply, I would be most grateful.
    Thank You.
    Regards
    hatta

    Databases are typically more oriented towards text and number content than binary content, I believe. If you carry images in the database you will need to run them through your code and through your java server before they are displayed. If they are held in a directory they will be called from hrefs in the produced page, which means that they are served by your static server. This is quicker because no processing of the image is required. It also means the Database has to handle massively less data. Depending on the database this should be far quicker to query.
    It is worth noting that it is also quite difficult to actually change mime-types on a page to display a picture in the midst of HTML- the number of enquiries on these pages about this topic should be enough to illustrate this.
    If you give over controls of all the image file handling to your java system (which I do when I write sites like the one you describe) then the actual program knows where to put the images and automatically adds them to the database. The system administrator never needs to touch them. If they want a backup they save the database and the website directory. The second of those should be a standard administrative task anyway, so there is not a huge difference there. The danger of someone accidentally changing the directory structure is no greater than the danger of someone accidentally dropping a database table- it can be minimised by making sure your administrators are competent. Directory structures can be changed back, dropped tables are gone.
    The security claim is slightly negated because you still have to run a webserver. Every program you run on your server is vulnerable to attack but if you are serving web pages you will have a server program that is faster than a database for image handling. You are far more at risk from running FTP or Telnet on your server or (worst of all) trying to maintain IIS.
    The images in directory structure is more scalable because very large databases are more likely to become unstable and carrying a 50k image in every image field rather than 2 bytes of text will make the database roughly 25000 times larger. I have already mentioned the difference in serving methods which stands in favour of recycling images. A static site will be faster than a dynamic site of equivalent size, so where you can, take advantage of that.

  • Extracting Images from EPS - Problem with the Output

    Hello,
    I got a big problem extracting images from an EPS, which has been made in InDesign. The image does not appear correct.
    Source code:
    %ALDImageFileName: Speicher:image.jpg
    %ALDImageDimensions: 30 30
    %ALDImageCropRect: 0 0 30 30
    %ALDImageCropFixed: 0 0 30 30
    %ALDImagePosition: 203.8677 344.8913 203.8677 359.2913 218.2677 359.2913 218.2677 344.8913
    %ALDImageType: 4 8
    %%BeginObject: image
    [14.4 0 0 14.4 203.868 344.891 ]ct
    snap_to_device
    Adobe_AGM_Image/AGMIMG_fl cf /ASCII85Decode fl /RunLengthDecode filter ddf
    <<
    /T 1
    /W 30
    /H 30
    /M[30 0 0 -30 0 30 ]
    /BC 8
    /D[0 1 0 1 0 1 0 1 ]
    /DS [
    [AGMIMG_fl 30 string /rs cvx /pop cvx] cvx
    [AGMIMG_fl 30 string /rs cvx /pop cvx] cvx
    [AGMIMG_fl 30 string /rs cvx /pop cvx] cvx
    [AGMIMG_fl 30 string /rs cvx /pop cvx] cvx
    /O 3
    >>
    %%BeginBinary: 1
    img
    p&G-p!<E*"!<<3"!!!&i!!30$!Vl`q!V$-m!WW3&!r`0#!Wh]h!!20]!WW3$qZ$^!!!!&f!!30$!WE'!
    !WE'$!<<*#nc/[l!W<!#!WW3%h>dNVnGiXl!<<-)!!*'"!<<2f!<*$!!<3)a!!!&t!!*-%kl:\ar;Zm"
    !!2He#6G2G(D[>Z!<*#e!!WKUEK,/l!r`0"!V$.!!Wi?'-t[mD-NjDN!!2Zk!!3#u"T\]4$OR%8!!!&h
    !!<6)*\I@D!\,8pq>g3h%KQP0';ta-rr2ho&-2b3mf3Y*Q/q,jk2D[9"76'h!=o#B!Y,22n,Nn!!!=Q!
    0.ee,0/"XS!VHHl!!E<'!"[l]rrUsd!Ug!r&'a/!k3(mej38#8mJm8&'`/UF'`J.(!"8l.+"o,p/hSe-
    /M8.8!!<6%!i#Yn!<2rs!2Ao^$NZFPk2tpjkND!jP3r;O%29TU'`o-b%e'H-!=:8,0/"h-.kN>(.gkeH
    "T^(Js8W&srrE$$rr;gE!V-4"""*$ljlY^djQYmmi$\'q!W`9(p([Q1nc/dn!#@(:r[nC..kE8)/emgU
    !<IHErs8W(rr<#trr76B!:p1!CZadBk2kmhj65^iD"%E-$5O?k'`&OE$M"0,!<<uh0.ee0/h\e,/h.k2
    !!*+arVm-$s8W)us8J2U!;Z[(L?.U[kN:sflf@0hK^f$D!=T\>'a5?f'c%2YnGit6/1iM*/1iA*.kWFi
    nc/dn!I+SBqYpWrrcdo5!<N60C$4[@ki_*hl0.?lD".K0!=9MV'c%S_'`f!Vnc01&!!t50/M8P+/h8J)
    .gH+F!!+PDrVllsrVlrp.KT,@#QauQip#Ifk3*$4ki:gb-3Nc<$j.4Z'GV>s'bqJt('F(,%06GL/hJ_.
    .k<;..j"f]!!32!rql]tr;WMmmf3c`k2tsgk2tmikEZ,Kn,NJ!'`/UJ'G_,X!V-6i!=L8*/2&S./M&=P
    !!2Ti"9AV]s8N#t"o\JY&c_t$!"-g0j6,RdkNBr!!r2ii!!!]1'a,9f'*84(!"Ar/""YuT/M8Y)!WW3$
    nc0%!!!!Z$s8N#ts76`i!"T,3!!3\bl0.?qjkC7H!!;`lrW!!#!>PMJ!u;Ub!Ug$f!=JlU/M/S*/ggZ#
    !!2Ng$3K)as8N&tjT#8]m/R@3k2b[ck03)j!>?4H'`\p6!!**(r[e6p.kWIZmJm:h!#kk:#.sp7ru_:B
    mJmV6jQ>U%kN:kH!!!)h!!!'!'`\gE'`eC:mf3^r!=pb8/ds9_.h;[J!!u[*s8GIerr6%#m/RGck3(kk
    kNM&%!Up'o!<<*)'bhDfrY5G=!Vufj!"K#0!#mOB.0(kM0,afj!V$-u!<A8^s6B[Es8S8_!U]poKBMCG
    !7'`iKECN@#RhF_'*&[\'b'X5r;[9-!$a!F*W[<7.jP)q!V-4#!<<,As8T>(W;lnB!!!&g!"63skFhmD
    jlEuS!!2Ng#S7^d%KHtR'bTm7!s/H(/-mj['`\n!/1Ukk!"985s8@'?Du]k7%KHP#!"8l0$KC71C'%l,
    jl$a?!!<6%!!3'6!X\o6rY5J8!!2Qh#Ri::0*_I`/1U`S%.4)q5Q:Zg2ukf6s8P=a!V$-t!]]?)jY?ff
    kN:qhmJmFp()7Pf!!N99!!Vcj$l1NL.KKPM/1iIi!!3'!o`,F%!dakFpBL[$pAb/A!Up's!H@5cf`qK\
    hWF!BmJmV%'GV;_!!*`J'FFm3!!WH(!?WpE,Q7ZH+tP;f!!2foq>^W-s8Tn6!!L"8s0r.!!">[bkcXsf
    !3>;FU]CPd!!<]G'bL?E!tZ.^&+9K$!\#`P)?'U>'eM$g!!2Zk!W`9$$g.KhLB.ATL&_2?"7Q9n!RU)n
    I/X*KGN@l9"Rc<t',;8j!!!$,'bhAP!!WQ+!"US5%fQG1%PKFQn,NUm!*fL'9)\en8,rO]!V-4"!rrBu
    jQ/].!WYOLl&b?6"9AcD'aFX;"9oSU%0>nt$NV(q!rr<%"YC_q"7Z@"!<<+Eq@Wc/!#,C9"9&;k!!E?)
    D;u0+!!<qtS-&0["T\T'$5EXA!!33:%da5t!<<]/!!3u<!V$-o!<<*#!FZ$-!!A;d!!2ipq#CKu!<?7$
    !!WK)KEM8T"RZ6i$2so,!<<Q0li77k!!30$!<</h!!!'!!!E<'!!!&c!"8o/!!*'#"98E'!WW;h!!!'!
    !!NB'!<<*#n,N[o!<<*#!!!'!!!!&f!!E<&!!*-"!!!'!!!**%o)K!s!!*-$!<<*#!!<-"!Wi?&l2Ueb
    rVup!q#Gp~>
    %%EndBinary
    %%EndObject
    Orginal image Size 553,9 KB
    After decoding the size is only 1,8 KB
    First try.
    public class ASCII85Decode {
    private ByteBuffer buf;
    * initialize the decoder with byte buffer in ASCII85 format
    private ASCII85Decode(ByteBuffer buf) {
    this.buf = buf;
    * get the next character from the input.
    * @return the next character, or -1 if at end of stream
    private int nextChar() {
    // skip whitespace
    // returns next character, or -1 if end of stream
    while (buf.remaining() > 0) {
    char c = (char) buf.get();
    if (!isWhiteSpace(c)) {
    return c;
    // EOF reached
    return -1;
    public static boolean isWhiteSpace(int c) {
    return (c == ' ' || c == '\t' || c == '\r' || c == '\n'
    || c == 0 || c == 12);
    // 0=nul, 12=ff
    * decode the next five ASCII85 characters into up to four decoded
    * bytes.  Return false when finished, or true otherwise.
    * @param baos the ByteArrayOutputStream to write output to, set to the
    *        correct position
    * @return false when finished, or true otherwise.
    private boolean decode5(ByteArrayOutputStream baos)
    throws PDFParseException {
    // stream ends in ~>
    int[] five = new int[5];
    int i;
    for (i = 0; i < 5; i++) {
    five[i] = nextChar();
    if (five[i] == '~') {
    if (nextChar() == '>') {
    break;
    } else {
    throw new PDFParseException(
    "Bad character in ASCII85Decode: not ~>");
    } else if (five[i] >= '!' && five[i] <= 'u') {
    five[i] -= '!';
    } else if (five[i] == 'z') {
    if (i == 0) {
    five[i] = 0;
    i = 4;
    } else {
    throw new PDFParseException(
    "Inappropriate 'z' in ASCII85Decode");
    } else {
    throw new PDFParseException(
    "Bad character in ASCII85Decode: " + five[i]
    + " (" + (char) five[i] + ")");
    if (i > 0) {
    i -= 1;
    int value = five[0] * 85 * 85 * 85 * 85 + five[1] * 85 * 85
    * 85 + five[2] * 85 * 85 + five[3] * 85 + five[4];
    for (int j = 0; j < i; j++) {
    int shift = 8 * (3 - j);
    baos.write((byte) ((value >> shift) & 0xff));
    return (i == 4);
    * decode the bytes
    * @return the decoded bytes
    private ByteBuffer decode() throws PDFParseException {
    // start from the beginning of the data
    buf.rewind();
    // allocate the output buffer
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // decode the bytes
    while (decode5(baos)) {
    return ByteBuffer.wrap(baos.toByteArray());
    * decode an array of bytes in ASCII85 format.
    * <p>
    * In ASCII85 format, every 5 characters represents 4 decoded
    * bytes in base 85.  The entire stream can contain whitespace,
    * and ends in the characters '~&gt;'.
    * @param buf the encoded ASCII85 characters in a byte buffer
    * @param params parameters to the decoder (ignored)
    * @return the decoded bytes
    public static ByteBuffer decode(ByteBuffer buf)
    throws PDFParseException {
    ASCII85Decode me = new ASCII85Decode(buf);
    return me.decode();
    2. Try
    public class Ascii85Decode {
    private final FileOutputStream fos;
    private Ascii85Decode() throws FileNotFoundException {
    File f = new File("/home/markus/1/test/bild.jpg");
    fos = new FileOutputStream(f);
    @Override
    protected void finalize() throws Throwable {
    fos.close();
    super.finalize();
    public static byte[] decode(byte[] in) throws FileNotFoundException, IOException {
    Ascii85Decode ascii85Decode = new Ascii85Decode();
    ascii85Decode.setData(in);
    ascii85Decode.decode85();
    return null;
    static long pow85[] = {85 * 85 * 85 * 85, 85 * 85 * 85, 85 * 85, 85, 1};
    private byte[] in;
    private void setData(byte[] in) {
    this.in = in;
    void wput(long tuple, int bytes) throws IOException {
    switch (bytes) {
    case 4:
    putchar((int) (tuple >> 24));
    putchar((int) (tuple >> 16));
    putchar((int) (tuple >> 8));
    putchar((int) tuple);
    break;
    case 3:
    putchar((int) (tuple >> 24));
    putchar((int) (tuple >> 16));
    putchar((int) (tuple >> 8));
    break;
    case 2:
    putchar((int) (tuple >> 24));
    putchar((int) (tuple >> 16));
    break;
    case 1:
    putchar((int) (tuple >> 24));
    break;
    void decode85() throws IOException {
    long tuple = 0;
    int c, count = 0;
    int i=0;
    for (;;) {
    switch (c = in[i]) {
    default:
    if (c < '!' || c > 'u') {
    System.err.println("%s: bad character in ascii85 region: %#o\n");
    System.exit(1);
    tuple += (c - '!') * pow85[count++];
    if (count == 5) {
    wput(tuple, 4);
    count = 0;
    tuple = 0;
    break;
    case 'z':
    if (count != 0) {
    System.err.println("%s: z inside ascii85 5-tuple\n");
    System.exit(1);
    putchar(0);
    putchar(0);
    putchar(0);
    putchar(0);
    break;
    case '~':
    if (in[i+1] == '>') {
    if (count > 0) {
    count--;
    tuple += pow85[count];
    wput(tuple, count);
    c = in[i+1];
    return;
    System.err.println("%s: ~ without > in ascii85 section\n");
    System.exit(1);
    case '\n':
    case '\r':
    case '\t':
    case ' ':
    case '\0':
    case '\f':
    case '\b':
    case 0177:
    break;
    i++;
    private void putchar(int l) throws IOException {
    //System.out.write(l);
    fos.write(l);
    Does anybody have an idea to solve the problem?

    A scan from string function can be used as per the attachment. The double \ ('\\') is in the format string in order to interpret the '\' characters in your input string as literal characters and not special formatting.
    Message Edited by Dennis Knutson on 07-10-2006 03:53 PM
    Attachments:
    Scan From String.JPG ‏5 KB

  • Extract images from PDF out of Illustrator with script

    Looking for a script to extract images from a pdf opened in Illustrator.
    I need the images to extract separately to a folder. Jpeg perhaps.

    hi
    I have to do the same... I have to convert a pdf to an image format.... can you solved the problem??? Can you help me??
    Thanks in advance...

  • How to extract data from Internet explorer & active MS office applications?

    Hi all,
    Need advice on "How to extract data from Internet explorer & active MS office applications"?
    Thanks in advance
    regards
    DIlip

    If ths search list isn't what you want, just search again:
    http://www.google.com/search?q=get+excel+data+in+java

  • Extracting images from pdf

    I am trying to extract images from pdfs using pdfimages, but i am unable to retrieve all the images. By opening the pdfs using Acrobat Reader 9.0, I am able to select, those images retrieved by pdfimages, using the select tool but for other figures/images we need to try other options like print screen and then cut the relevant image. I was wondering why or when does the Acrobat treats the figures/images differently.

    Hi Dave,
    Thanks for the reply. My question was not regarding any non-Adobe product like pdfimages. It was in general the way Acrobat handles the images while creating pdfs.
    I wanted to know why can we select some of the images from the pdf using select tool and can not select others for which we need to print screen and cut. Is there anything in the eps files of included image that causes such effect?
    Thanks.

  • How can I extract images from Numbers?

    Sounds a bit stupid but how do you extract images from Apples 'Numbers 3' on a Mac?  I have a client that sends images in XLS files, that normally in Word I would Alt Click and 'save as...'
    I was trying to stop using Word but this simple little feature will make all the difference.
    Can anyone point me in the right direction.
    Thanks,
    Dave

    Hi Wayne,
    Thank you for your response.  Sadly if you do this it copies in to the MACs clipboard as a snap shot of the image at the dimensions in Numbers.
    Eg. 
    An image I've extracted from the document via Excel saved out at it's original dimensions 1024 x 300px, even though it was placed, then scaled down to 300px wide on the sheet.
    Same image copied then pasted in to an image editor (as I couldn't paste into finder) was only 300px wide.
    The feature I need is to be able to save out the original image placed in the Numbers sheet.
    Anyone with ideas on this?

  • Extracting Images from PDF file

    Hello All,
                   I am reading PDF File.I need to extract images from PDF File programatically.But problem is that some images are stored inside PDF File using FlateDecode Filter and I need to first decode that file and then I can extract that image .I dont know the way to decode that image data.Is there any way or API to do that in C++.
    Thanks
    Aarti Nagpal

    I think you can do it through cos object in VC++ plugin..go through the PDEFilterSpec in
    Acrobat core api reference
    Be well..

  • How can I extract image from complex (multycoloured0 background?

    How can I extract image from complex (multycoloured) shot?

    I would say either using the pen tool or the quick mask tool but without seeing how complex the image/background is I can't give you a complete answer...?
    Can you post the image?

  • Figuring out how to extract images from a PDF file

    Hi,
    I'm trying to write a small app that extracts all images from a PDF file. I already wrote a nice parser and it works good but the only problem is that I can't quite figure out from the reference how to decode all images in a PDF file to normal files such as tiffs, jpegs, bmps etc. For now I'm focusing on XObject images and not dealing with inline images.
    From what I understand so far just by trying and looking at open sources I figured that if I see a XObject Image with a DCTDecode filter, taking the stream data without doing anything to it and saving it as a jpeg file works. But doing the same to FlateDecoded streams or CCITTFax didn't work.
    What is the right way to properly extract the images?

    In general you have to
    * decode the stream
    * extract the pixel data
    * use ColorSpace, BitsPerComponent, Decode and Width to unpack pixel
    values
    * reconstruct an image file format according to its specification
    There are no other shortcuts. The DCTDecode shortcut (which doesn't
    work for CMYK JPEG files) is just a piece of fantastic good luck.
    Aandi Inston

  • How do I extract images from a PDF?

    Bonjour
    je cherche à isoler les fichiers de photos qui ont été insérées dans un document PDF
    je crois savoir qu'il existe un outil pour le faire
    je ne le connais pas
    merci de m'aider à avancer
    Papierre1950

    What I would do if I needed to extract an image from a PDF:
    open the PDF in Acrobat
    right-click on the image and select Edit in Photoshop
    or
    right-click on the image and select Copy, then paste it into any other imaging program

  • How to copy and paste images from Internet to keynote on iPad?

    I want to make presentations on the go using Internet images and keynote. How can I get images from websites copied into my photo album, as that seems to be the only way you can add a image in keynote. Is there legal problems involved in it? Because I can do it no problem using my desktop etc.
    Thanks,
    Dave

    Click and drag is your friend!
    This thread probably belongs in the safari area, but anyway:
    If you click and hold, there should be a cursor that appears with a file. Then, simply drag it to your desktop where the file will appear.
    Or:
    Right-click (control-click) the picture and there should be a 'save image' or 'save image as' option. Select that, then save it!
    Afterwards, simply find the file in your screen saver options in system preferences, and then select it.
    Good Luck!

  • Extract Image from SWF

    Is it possible to extract an image from your Flash
    application? For example, if I had a simple interactive logo
    designing SWF with a 'Save logo' button, could I implement some
    functionality to save the current logo (a section of the visible
    application) as an image file and store it on my server? How might
    I achieve this?
    Thanks in advance! Any help would be much appreciated.

    You could use BitmapData to get the bitmap information from
    the SWF. Then you could use Remoting of some sort (like amfphp) -
    which now supports ByteArrays. With this you could communicate to
    the server and save your bitmap data :) Or you could do it directly
    with posting as shown with example/source here:
    http://www.quasimondo.com/archives/000572.php

  • Extract image from DVD, add different sound and burn new DVD?

    I am a composer for film and TV. My clients send me DVDs that have inferior sound. I would like to extract the image from the DVD, add a better sound file (48k16bit) and drop this in iDVD to create a final DVD. How do I do this?

    It seems to me that you have 2 choices. 1) ask the clients to send a DV tape instead of disc. Import using program using program of choice (iMovie, FCE, FCP). Delete the audio (or not even import it) and drop you audio in- send to DVD. This is the best option as you shouldn't lose any visual quality. 2) De-Mux the DVD so that you have an audio/video stream. Google demux and I am sure a few solutions will pop up. In essence, a DVD has the audio/video "muxed", kid of a combination clip for DVD playback. You want to separate "clips", one for audio, one for video. Then replace the audio and send to DVD. The catch here is that you will lose some quality in the video by taking it from one format to another format back to the original format. A third solution may exist if the DVD you are sent do NOT have muxed files. If they already have a separate file for audio and video... but I doubt it.
    Mike

  • Extract images from PDF

    Hi there!
    I neet to extract some images from PDF files! I've tried using JPedal, but it seems that they don't offer support for the free version any more, so, I couldn't use the free version!
    Can you tell me other tools that I can use for that scope? Or could you give me some sample code/tutorials of the free version of JPedal?
    Thank you!

    hi
    I have to do the same... I have to convert a pdf to an image format.... can you solved the problem??? Can you help me??
    Thanks in advance...

Maybe you are looking for