How to take a screenshot of a window larger than the screen

214,229

Solution 1

I believe Screenshot Captor is the tool you're looking for. It involves a slight learning curve though and the scrolling window capture feature might seem intimidating at first.

It can capture objects, meaning content within windows with scroll bars (horizontal and vertical), individual program controls, etc.

It is quite powerful but some tweaking with the settings may be necessary to get what you want and hence, the learning curve.

If you try the program and it doesn't work for you, before you dismiss it, watch the videos listed on this page, especially this one about basic scrolling window capture.

Here's an example capture of a scrolling Windows Explorer window (click to view full size): Scrolling window capture

Solution 2

  1. I've had to test how software works/looks in displays larger than the one I have, and I've done it in a virtual machine with VMWare Workstation. I just went to VM settings, Display, and wrote there the resolution. It's easy to take screenshot with the virtualization software (Ctrl+Alt+PrtScr, and they get auto-saved to the host's desktop). Although I've never tried to go up to 6000×4000 until today :-)

    WinXP on VMWare Workstation 10 at 6000×4000

  2. While that covers the general case, the case of PDF files is much, much easier. There's a terribly useful (and free!) PDF renderer called MuPDF where you can just run

    mudraw -o page%d.png -r 300 document.pdf 5-9
    

    to get almost instantly 300-dpi PNGs of pages 5 through 9 of document.pdf (named page5.png, page6.png, ..., page9.png)

  3. One last thing: Someone mentioned screengrabbing whole webpages in Firefox? No extensions necessary! Just press Shift+F2 and write

    screenshot webcap.png --fullpage
    

Solution 3

With Linux, the xrandr command simply creates a larger virtual screen, for example:

xrandr --output HDMI-1 --rate 60 --mode 1920x1200 --panning 3000x2000

Then take a screenshot in the normal way, which captures the whole virtual screen in that size as specified by the --panning option. It does also capture those areas which are outside the visible physical monitor area.

Solution 4

There is nothing "beyond the screen", mostly because applications will not draw it.

Your best bet is to pan around the image, and use Photoshop (or your favorite image editor) to stitch the pieces together.

That's how it is in Windows at least; you don't say what "window" you have, and how you can "zoom out".

But if i was, for example, trying to steal images of Google Maps i would

  • pan around
  • save the small bits
  • stitch them together in Photoshop

Solution 5

The good news: there's a way to capture your pdf in it's entirety.
The bad news: its a bit long winded and the pdf might not come out 100% correct!
(It's better than nothing right?)

So, to get this all working you will need to do the following:

  1. Grab a version of NodeJS from here and install it
  2. a. If you have git installed just clone the mozilla/pdf.js repo from github like so
    git clone git://github.com/mozilla/pdf.js.git pdfjs and cd into the directory
    b. if you don't have git then you'll need to download the whole code repository from here: https://github.com/mozilla/pdf.js/archive/master.zip
    unzip it and then open up command prompt and cd into the root of the folder
  3. run node make server

What you have done so far is create a web server running on localhost:8888 that is able to render pdfs using JavaScript. You can view an example pdf by going to the following page: http://localhost:8888/web/viewer.html?file=/examples/learning/helloworld.pdf

Next up you'll need to download PhantomJS.

  1. Grab it from here
  2. Unzip it wherever you like and then from the command prompt cd into the bin folder
  3. Copy the rasterize.js file from the examples folder of phantomjs into the bin folder (I know it's a bit dirty but we can sort it out later right?)
  4. Open up rasterize.js because we need to change something.
  5. Go to line 45 and change the time from 200 to something like 5000 for now. The code should look like: https://gist.github.com/HaykoKoryun/eba33f2011d3d69b773b
  6. Place a copy of the pdf file you want to capture into a folder called test in the pdfjs root folder
  7. Finally run the following command
    phantomjs.exe rasterize.js http://localhost:8888/web/viewer.html?file=/test/xxx.pdf test.png 1920px*1080px

What are those parameters I hear you say? The first one tells phantomjs which script to run. That's easy, in our case it's the modified version of rasterize.js!

The second one is the URL to load, which is the local webserver running pdfjs. Note that you'll need to replace the xxx with the name of your pdf file.

The third parameter is the name and format of the file you will save the capture to.

Finally the last parameter is the size of the capture. You'll need to play about with the size to make sure you capture the whole page.

Share:
214,229

Related videos on Youtube

Cat
Author by

Cat

I love Italian food, but I hate spaghetti code.

Updated on September 18, 2022

Comments

  • Cat
    Cat almost 2 years

    I want to take a screen shot of a window that's larger than the screen size.

    If I zoom out of the window and I take the screenshot, I lose quality since zooming into the image will not work.

    A large monitor would help me with this but I don't have one.

    I'm using Jing, but it only allows me to take a picture of what's visible on the screen and ignores the rest.

    Is there any way to take screenshots of what is outside the screen?

    • user3763403
      user3763403 about 13 years
      What is the application or file you are trying to take a screen shot of? If it is something that can be opened in a browser you can use the Firefox Screengrab plugin. It will allow you to take a screen shot of an entire page, window, frame, or selection, regardless if it visible or not.
    • Daniel B
      Daniel B over 9 years
      @DanW Why are the existing answers insufficient for you?
    • Twinbee
      Twinbee over 9 years
      Ian's 'stitching' idea would be too painstaking as the image I want to capture is around 6000 x 4000 or even higher, and I might need to do more than one. Also, it's an arbitrary window, not a PDF doc, so Li-aung's answer wouldn't help. Snehal's answer didn't work as I said. I'll try out the new ones soon.
  • Kissaki
    Kissaki about 13 years
    As alternatives to Photoshop you may want to use free image editors like Gimp or Paint.Net, or use a panorama-software, which will detect the matching parts of your images and put them together automatically.
  • Cat
    Cat about 13 years
    I'm actually trying to get something from a pdf file, might be a little rough to merge pieces together if I don't take the screenshot in one go. I discovered SnagIt 9 has a nice scrolling feature (they removed it in SnagIt 10 for some reason). It allows you to scroll down in a pdf, doesn't work to scroll to the side though. Very useful nevertheless
  • Ian Boyd
    Ian Boyd almost 13 years
    i was using photoshop to stitch together a newspaper image from Google's Newspaper archives.
  • Snehal Masne
    Snehal Masne almost 10 years
    Reference : One of the posts from TechProceed.com
  • Twinbee
    Twinbee over 9 years
    Didn't work for me I'm afraid. I tried the 'Scrolling Window' grab type. It just saved a single screen's worth.
  • Twinbee
    Twinbee over 9 years
    Unfortunately, the window I have in mind doesn't have scroll bars. Otherwise, sounds good!
  • Twinbee
    Twinbee over 9 years
    Unfortunately, you need to log off and back on which forces you to close all the open windows. Additionally, although the log-in screen was at a higher resolution, when I tried, the main Windows desktop was not.
  • Twinbee
    Twinbee over 9 years
    Wow, a little overkill at 300 meg, but the program looks powerful. I'm guessing this won't work for my current situation though because I would need to rerun the giant 6000x4000 window render (which has taken over a week to do) inside the emulated Windows setup. I just want to be able to grab on the fly.
  • Twinbee
    Twinbee over 9 years
    Small program that's free, didn't need a reboot or log-off, worked in seconds, and effortlessly at least for my case (no scrolling bars in the window I wanted to capture, but Screenshot Captor supports scroll bars too by the looks of it). Captured all 6026 x 4248 pixels perfectly. Great answer. Bounty awarded.
  • Ƭᴇcʜιᴇ007
    Ƭᴇcʜιᴇ007 over 9 years
    @DavidPostill Actually the question is tagged "window" and makes no mention of the OS actually being used. Everyone else is really just assuming Windows.
  • Hiccup
    Hiccup about 7 years
    @DanW If you use the "panoramic" function (added in Snagit 13, I think), it doesn't matter how the scrolling is doen - but you have to scroll manually (unless you set up AutoHotkey or something to do it for you).
  • fixer1234
    fixer1234 over 6 years
    The answer would be better if you could include the gist of the solution here. Solutions contained in links become useless when the link goes stale. Videos can be a helpful supplement, but they don't make good answers as the only source of information. Just a heads up that it may attract downvotes. If you don't want to expand the answer, consider moving it to a comment.
  • user60561
    user60561 over 5 years
    This is incredible! I never would have guess this was possible; thank you!