Giter VIP home page Giter VIP logo

photocat's Introduction

photocat

photocat is a simple java application for producing (digital) quasi 'contact sheets'. A contact sheet is a print-media page of thumbnails representing a set of photographic images. Essentially you provide a number of images and it produces a PDF containing pages of those images scaled down together with some meta-data.

An example of where this might be useful is in the archiving of photographs. For example, an organization keeps photographs of each project and after the project has completed, they archive those photos away. A contact sheet would then be a reference where they could, at a glance and in a relatively smaller PDF file, see what was stored into each archive.

Contact / Author

Andrew Lindesay [email protected] (web)

License

Please see the LICENSE.TXT file for the license that governs the use of this software.

Building

To build this software, you will need the following;

  • An internet connection
  • Java 17
  • Apache Maven

To build;

mvn clean && mvn package

Usage

The software can be run either from the command line or as a desktop application. In either case, the same conceptual settings are used

Settings Overview

Source Image / Movie Directory

This is the directory containing the images and movies that should appear in the contact sheet.

PDF Output File

This is the file where the output PDF will be written

XML Output File (optional)

This is the optional output of an intermediate XML file. This XML file is a necessary resource for developing your own contact sheet format should you wish to.

ffmpeg Binary (optional)

This is the binary for ffmpeg which is used to create stills for movies that may be included in the source image / movie directory. ffmpeg can be downloaded from here. If you do not install ffmpeg then movies' stills will not appear properly in the contact sheet.

Default Output Template / Custom Template

You can use this option to either use the simple built-in template or you can nominate your own template should you have created your own one.

Maximum Thumbnail Edge Size

This will define the maximum size of the images that are included in the contact sheet. The larger this value is, the larger the contact sheet PDF file will be and the more memory will be required to produce the output PDF.

Launch Command-line

To launch the software using a command line interface issue a command like this, correcting the actual path to the jar file depending on your situation;

java -jar .../photocat-contactsheet-cli/target/photocat-contactsheet-cli-...jar

Running the software with no options will provide you with a list of options.

Launch Graphical User interface

To launch the software using a graphical user interface, issue a command line like that shown below, correcting the actual path to the jar file depending on your situation;

java -jar ..../photocat-contactsheet-desktop/target/photocat-contactsheet-desktop-...jar

Using Your Own Template

If you want to make your own contact sheet template, this is possible. Use the "XML Output File" option and produce an example XML file from your data. Now you can create an XSLT file that produces FO (formatting objects) output. Internally, the FO is run through the FOP tool to produce the PDF.

There is a command-line tool provided with FOP to process the XML file with your XSLT file and then process the resultant FO into FOP. This can help with developing your XSLT file.

The default XSL file exists within the sources for this project.

photocat's People

Contributors

andponlin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.