Screensaver/presentation advice
May 16, 2014 1:57 AM   Subscribe

Looking for software for PC that will display a sequence of images and pages from a long pdf?

So it would go through the image files and when it reaches a pdf go through each page on the pdf.

If there isn't one I suppose I can break up the pdf into image files. If so, what is the best programme on a PC to display a sequence of images. Ideally I'd like them to function like a screensaver which would ratchet through the images to be interuppted if a DVD is playing and then start up again if not.

Thanks, am Mac user and increasingly computer ignorant thus PC basic knowledge is needed.
posted by einekleine to Computers & Internet (3 answers total) 1 user marked this as a favorite
 
Best answer: This won't be your answer (even though it is your answer), but I'll talk about that later.
I work for a company, Atalasoft, that makes an image processing toolkit. It has tools for displaying images in a window as well as tools for decoding PDF files (although the PDF capability is an add-on).

It is a .NET SDK, which means that you need to write code. I can't give you the entire solution here, but I can give you all the salient parts.

First, at the beginning of time, you'd have to install a PDF decoder:
RegisteredDecoders.Add(new PdfDecoder())

Next you'd need a structure that can iterate over all your images. To make your life easier, I'm going to build up a class to do the steps you'll need:

public class ImageAdvancer {
    private FileSystemImageSource _source;
    private AtalaImage _lastImage;
    private int _currFileIndex;

    public ImageAdvancer(string pathToFiles) {
        _source = new FileSystemImageSource(pathToFiles, true);
        _lastImage = null;
        _currFileIndex = -1;
    }

    public void DoneWithLastPage()
    {
        if (_lastImage != null)
        {
            _source.Release(_lastImage);
        }
        _lastImage = null;
    }

    public AtalaImage GetNextPage()
    {
        DoneWithLastPage();
        _currFileIndex = Math.Min(_currFileIndex + 1, TotalImages - 1);
        _lastImage = _source[_currFileIndex]; // can throw
        return _lastImage;
    }

    public AtalaImage GetPrevPage()
    {
        DoneWithLastPage();
        _currFileIndex = Math.Max(_currFileIndex - 1, 0);
        _lastImage = _source[_currFileIndex]; // can throw
        return _lastImage;
    }

    public bool AtEnd() { return _currFileIndex == TotalImages - 1; }

    public bool AtStart() { return _currFileIndex == 0; }

    public int TotalImages { get { return _source.Count; } }
}

Your main code will be a UI that will allocate an ImageAdvancer with the path to your files. One of the UI controls will be an ImageViewer object which does exactly what it says on the box. You'll hook up UI controls such that a next button click calls GetNextPage() and sets the Image property of the ImageViewer to the return value, etc. All pages within a PDF will be handled as if they are the next image (this is the point of FileSystemImageSource). One caveat, if you open a new suite of files, you should call DoneWithLastImage().
An app written like this is a 100% solution to your problem. The catches are this (1) you have to write code (2) you have to purchase our SDK and purchase the PDF add-on, which will set you back a fair amount. For a one-off with PDF, unless you already own a license, this is probably not cost-effective. You could develop under an evaluation license, but the app would die in 30 days and prior to that, PDF images would be watermarked.
Likely you are better off trying to use something like IrfanView with a PDF plug-in. IrfanView isn't without its problems, but it has decent enough image decoders.
posted by plinth at 3:17 AM on May 16, 2014


Best answer: Break the PDF up into images. Once your images are all gathered in a directory, you can set a slideshow of them to be used as a screensaver. It's one of the standard Windows screensavers and it has options for shuffle (on or off) and for duration of each pic being shown.
posted by Too-Ticky at 3:21 AM on May 16, 2014


Response by poster: Well that covers it from both angles.

Thanks.
posted by einekleine at 4:00 AM on May 16, 2014


« Older Big Moth-- IN THE HOUSE!   |   Sustainable ink pen solution for a lefty Newer »
This thread is closed to new comments.