You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.0 KiB
28 lines
1.0 KiB
3 years ago
|
#!/usr/bin/env python3
|
||
|
""" Dump a PDF file. """
|
||
|
|
||
|
import click
|
||
|
|
||
|
from asl_rulebook2.pdf import PdfDoc
|
||
|
from asl_rulebook2.utils import parse_page_numbers
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
|
||
|
@click.command()
|
||
|
@click.argument( "pdf_file", nargs=1, type=click.Path(exists=True,dir_okay=False) )
|
||
|
@click.option( "--toc","dump_toc", is_flag=True, default=False, help="Dump the TOC." )
|
||
3 years ago
|
@click.option( "--pages","-p","page_nos", help="Page(s) to dump (e.g. 2,5,9-15)." )
|
||
|
@click.option( "--sort","-s","sort_elems", is_flag=True, default=False, help="Sort elements within each page." )
|
||
|
def main( pdf_file, dump_toc, page_nos, sort_elems ):
|
||
3 years ago
|
"""Dump a PDF file."""
|
||
|
|
||
|
# dump the PDF file
|
||
3 years ago
|
page_nos = parse_page_numbers( page_nos )
|
||
3 years ago
|
with PdfDoc( pdf_file ) as pdf:
|
||
3 years ago
|
pdf.dump_pdf( dump_toc=dump_toc, page_nos=page_nos, sort_elems=sort_elems )
|
||
3 years ago
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main() #pylint: disable=no-value-for-parameter
|