generate-sample-pdf 0.1.1

Distinguishable sample PDF generator
# generate-sample-pdf

## What is it?

Simple "development" PDF generator.

Generates visually distinct PDFs with set characteristic such as file size or number of pages.
Document is packed with data using invisible `_` character.

I'd recommend inspecting source code (of both generator and output) for safety.

Known issues:
- file sizes aren't 100% accurate due to how PDFs are rendered
- rendered text isn't typesetted carefully so it could be broken

## Installation

- Clone repository
- Build `cargo build -r` or..
- `cargo install --path .` to install in path

## Usage

```
Usage: generate-sample-pdf [OPTIONS] <color> [text]...

Arguments:
  <color>    Text color, web color names and hex codes (without #) are supported e.g. red, blue, hotpink, 00ff00, rgb(100,100,100)
  [text]...  Text to print

Options:
      --pages <PAGES>     Number of pages to generate [default: 1]
  -o, --output <OUTPUT>
  -s, --size <SIZE>       Generated file size ByteSize strings accepted, eg: 10Mb, 1024Kb etc. Data is distributed across all pages. (might not be accurate)
      --no-random-string  Don't print random number inside
      --no-pagenum        Don't print page numbers
      --no-sizeinfo       Don't print PDF size information
      --no-stats          Print stats (file size, generation time)
      --silent            Print only resulting file name on success
      --debug             Show debug messages
  -h, --help              Print help
  -V, --version           Print version
```

- Colors are parsed by [csscolorparser]https://crates.io/crates/csscolorparser crate
- File sizes are parsed by [bytesize]https://crates.io/crates/bytesize crate
- Default file name infers from named color. If color can't be inferred `--output` option has to be provided
- Using named color (instead of hex provided one) guarantees name generation
- By default PDF content is rather verbose

## Example PDF content

```
> generate-sample-pdf --output example.pdf --pages 10 --size 1MiB slateblue This is example file!
Finished in 21.494ms. Final file size: 1.1 MB.
File name: example.pdf
```

[Output](./example.pdf)