packages feed

pdfname-0.1.3: README.md

pdfname [![Hackage version](https://img.shields.io/hackage/v/pdfname.svg?label=Hackage)](http://hackage.haskell.org/package/pdfname)
=======

Description
-----------

The `pdfname` command-line program names a PDF file using the author,
year of creation and title information extracted from the `pdfinfo`
program.

Prerequisites
--------------

* Glasgow Haskell Compiler ([GHC](https://www.haskell.org/ghc/))

* [cabal-install](http://www.haskell.org/cabal/)

* [pdfinfo](http://linuxcommand.org/man_pages/pdfinfo1.html) Unix
  program

Installation
------------

The program can installed with the following commands:

```bash
$ cabal update
$ cabal install pdfname
```

Usage
-----

Just run `pdfname` on your PDF file.


How is the FileName Chosen?
---------------------------

Given the author, year of creation and title information extracted
from the `pdfinfo` program (fields `Author`, `CreationDate` and
`Title`, respectively) the name of the PDF file will be

```
author-year.title.pdf
```

where `author` and `title` are the strings obtained after making
certain substitutions (e.g. remove whitespace, translate non-ASCCI
characters and remove TeX/LaTeX specific information) to the
information shown by the `pdfinfo` program.

Example. Let's suppose that running `pdfinfo` on the file `foo.pdf`
shows the following (fictional and incomplete) information:

```bash
$ pdfinfo foo.pdf
Title:          Introducction to the <TEX>$\lambda$</TEX>-Calculus
Author:         Per Martin-Löf
CreationDate:   Fri Apr  9 07:14:01 2010
```

Now, running `pdfname` on that file will create the new file

```
/tmp/martin-lof-2010.introduction-to-the-lambda-calculus.pdf
```

Bug Reporting
-------------

Use the [bug tracker](https://github.com/asr/pdfname/issues) for
reporting bugs.

If your bug includes a PDF file it is not necessary to disclose nor to
attach the file. All that it is necessary is the *minimal* PDF
metadata required for triggering the bug. There are various GUI,
online and command-line tools for modifying the PDF metadata.

Known Errors
------------

If a PDF file or its metadata information is damaged `pdfname` (via
the [`pdfinfo`](http://hackage.haskell.org/package/pdfinfo) library)
generates an error. Known errors are the followings:

```
fd:5: hGetContents: invalid argument (invalid byte sequence)
```

```
Error: May not be a PDF file (continuing anyway)
Error: PDF file is damaged - attempting to reconstruct xref table...
Error: Couldn't find trailer dictionary
Error: Couldn't read xref table
```

If you get a different error message, please report it.