28 December 2014

Changes resulting from the new EUVAT rules on 1 Jan 2015 (VATMOSS)

On the 1 Jan 2015 new EU VAT rules come into force that require anyone in the world selling “digital services” to consumers in the EU to charge VAT on the sale regardless of any national VAT exemption status for low turnover businesses.

2 November 2014

Folders First!

I was recently asked whether it was possible to have ExpPrint list sub-folders before the file items in a folder. I had to admit that it wasn’t something I remember considering and so it wasn’t currently an option. However, with a bit of editing of the XSLT it is achievable.

4 October 2014

Inside ExpPrint 6.2 Changes

A customer recently suggested that it’d be much better if ExpPrint could produce stand-alone HTML files so that anyone with a suitable modern web browser could see the same presentation without needing ExpPrint installed. Since this was something I’d always intended to have (but hadn’t found how to do it), I thought I’d have another look into it.

29 March 2014

ExpPrint V6.1.2.0

This release adds 5 more hashing algorithms. ExpPrint now supports the following hash algorithms: Crc32, MD2, MD4, MD5, SHA-1, SHA-256, SHA-384, SHA-512.

Hash functions (Wikipedia)

10 March 2014

Unusual uses for ExpPrint–Finding long file paths

A customer recently told me they were using ExpPrint to find occurrences of files with very long path names. Their backup program had a problem with file paths that exceeded the normal 260 character limit, so they needed to find them and shorten them.

16 February 2014

Invalid Dates and Formatting your ExpPrint HTML Listings with Cascading Style Sheets (CSS)

A curious mix of topics you might think – but one lead to the other a few days ago, so in explaining a minor enhancement as a result of a customer reporting an issue, I thought I’d explain how I resolved the situation in more detail…

11 February 2014

Overview of How ExpPrint Works

ExpPrint has several steps to get a listing:


1. The shell extension (the right click “ExpPrint Listing…” menu in Windows Explorer)

This component gathers all the properties of the files and converts them into an XML format in the .xplisting file.

2. The ExpPrint Viewer

This loads the .xplisting and allows you to select a transformation – currently either Detailed Table (HTML),  Detailed Table (CSV), or Multi-Column (HTML).

3. The viewer then displays the user interface for the chosen transformation and finally invokes the transform.

The result is either a Detailed Table HTML file, Detailed Table CSV file, or Multi-column HTML file which is then invoked, causing the application registered for the file type to open the file. So, for the HTML outputs, the file will load in your default browser, while the CSV option will probably load in your spreadsheet application.

Why is it so involved?

In a word – flexibility.

Early versions of ExpPrint involved just 1 stage – you invoked the shell extension and it got the file system information and either output the listing to your printer, or to a text file.

But people want more…

  • Print preview
  • More properties/metadata
  • More formatting options

It quickly became difficult to squeeze new feature in, so a radical departure was necessary in order to have the bigger facilities like Print Preview.

The solution is as presented above. In essence ExpPrint stands on the shoulders of giants. By outputting HTML, users can use the full features of their browsers to provide printing and preview facilities, and by structuring the HTML to allow it to be comprehensively formatted using standard CSS, listings can have much richer presentation facilities than I could ever have hoped to develop from scratch. However, the link is the intermediate form – the XML data. By having the shell extension gather all the file properties that Windows provides (thankfully without having to write any code that knows about the file formats) and saving them as XML, the transformation of the XML to HTML or CSV is accomplished using XSL Transforms. XSLT enables the same XML data in the .xplisting file to be converted to any text format by way of an XSLT transform program. The 3 options available in the ExpPrint Viewer: Detailed Table (HTML), Detailed Table (CSV), and Multi-Column (HTML) are in effect 3 XSLT programs. You can extend ExpPrint with your own transform programs, but it’s far from a trivial undertaking, so if you think you might want a custom transform, send us an email and ask away.

27 January 2014

New ExpPrint Release - V6.1.1.1

As mentioned in our earlier post, this update of ExpPrint eliminates the general exception message that you’d have seen had you encountered the same situation as our customer who reported the issue.

Now that we understand the scenario that can give rise to this exception, we’ve added a specific handler for it that will suggest you try the file with ExpPrint on a 64-bit version of Windows (if you’re running on a 32-bit version).

Please note that ExpPrint failing to load a large listing is not a common situation. ExpPrint is capable of processing very large listings on all 32-bit Windows operating systems. The likelihood is that only large storage systems with listings comprising of hundreds of thousands of files may encounter this situation, and they will (I hope) be eminently placed to have a 64-bit version of Windows that they can run ExpPrint on.

25 January 2014

Free ShellExec test application V1.5 is now Unicode

As a software developer I find it surprising how you keep finding a need for certain things you write as little throw away test programs.

10 January 2014

Working with extremely large ExpPrint listings

ExpPrint can handle most directory listings quite easily, and it’s only with large listings (many tens of pages) that your browser may slow down appreciably. However, earlier today a customer reported a problem when they tried to view an extremely large listing, comprising over half a million items.

6 January 2014

Using ExpPrint to create a Photo Catalogue with your photo people tags/metadata

For a while I’ve been investigating how to future proof my scanned family photos so that they retain their people name metadata. Unfortunately, it appears that there’s not yet consensus from the different photo editor vendors on how such information should be stored. Geoff Coupe’s blog contains some of the most comprehensive practical information I’ve come across so far.

The issue boiled down to the fact that I couldn’t be sure that any future software would correctly retain or migrate the current people metadata. I’m fairly sure the opposite is more likely to be the norm. Therefore, as a precautionary measure I thought I’d look into capturing a thumbnail of the image along with its metadata. I investigated specialist media cataloguing applications, assuming that they would do the job seamlessly. I had Microsoft Expression Media 2 (which was iView Media and is now Phase One Media Pro), and I also had a look at Daminion, but neither seemed to be able to output the people information that Microsoft Live Photo Gallery can embed in the photo files with its face recognition facility. I like Microsoft Photo Gallery because it embeds the people information into the photo file rather than in its own separate database file which could easily get disconnected from the photo files.

It then struck me that ExpPrint can output the Photo Gallery people information, so all I needed to do to make ExpPrint into a functional Photo Cataloguing facility was to have it show thumbnails of the photos.

4 January 2014

ExpPrint updated to V6.1.1.0

We’ve just released the latest version of ExpPrint. This is a minor update that adds support for a few additional Properties commonly found in Microsoft PowerPoint and Office documents.

ExpPrint page & download

ExpPrint Revision History