aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/formurapid.16
-rw-r--r--doc/formurapid.1.txt2
-rw-r--r--src/main.rs72
3 files changed, 42 insertions, 38 deletions
diff --git a/doc/formurapid.1 b/doc/formurapid.1
index 21d160f..f42c2a4 100644
--- a/doc/formurapid.1
+++ b/doc/formurapid.1
@@ -2,12 +2,12 @@
.\" Title: formurapid
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 04/17/2021
+.\" Date: 04/18/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "FORMURAPID" "1" "04/17/2021" "\ \&" "\ \&"
+.TH "FORMURAPID" "1" "04/18/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -31,7 +31,7 @@
formurapid \- Fill in a PDF form using a text file
.SH "SYNOPSIS"
.sp
-\fIformurapid\fR [options] (\-\-generate | \-\-fill) \fIpdf_file\fR
+\fIformurapid\fR [options] (\-\-generate | \-\-fill) \fIpdf_file\fR \fI\&...\fR
.SH "DESCRIPTION"
.sp
Fill in a PDF form based on the values in a TOML text file\&. This allows the values to be saved and reused\&. The TOML file can also be manipulated by external programs to calculate or fill in values in an interoperable format without having to directly manipulate the PDF\&.
diff --git a/doc/formurapid.1.txt b/doc/formurapid.1.txt
index 596d7aa..d9edf69 100644
--- a/doc/formurapid.1.txt
+++ b/doc/formurapid.1.txt
@@ -7,7 +7,7 @@ formurapid - Fill in a PDF form using a text file
SYNOPSIS
--------
-'formurapid' [options] (--generate | --fill) 'pdf_file'
+'formurapid' [options] (--generate | --fill) 'pdf_file' '...'
DESCRIPTION
-----------
diff --git a/src/main.rs b/src/main.rs
index 4c4d91c..18eb95c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -46,7 +46,7 @@ struct Field<'a> {
fn print_usage(opts: &Options) {
print!(
"{}",
- opts.usage("usage: formurapid [options] (--generate | --fill) PDF_FILE"),
+ opts.usage("usage: formurapid [options] (--generate | --fill) PDF_FILE..."),
);
}
@@ -89,40 +89,44 @@ fn run() -> anyhow::Result<()> {
process::exit(exitcode::USAGE);
}
- let form_path = Path::new(&opt_matches.free[0]);
- let form_file_prefix = form_path
- .file_stem()
- .ok_or(anyhow::anyhow!("no file name"))?
- .to_str()
- .ok_or(anyhow::anyhow!("error converting file name"))?;
-
- let toml_file_name = format!("{}.toml", form_file_prefix);
- let toml_path = form_path.with_file_name(toml_file_name);
- let output_file_name = format!("{}-filled.pdf", form_file_prefix);
-
- let mut form = Form::load(form_path)?;
-
- if opt_matches.opt_present("fill") {
- return fill(
- toml_path,
- form_path.with_file_name(output_file_name),
- &mut form,
- );
- } else if opt_matches.opt_present("generate") {
- let ids_path = form_path.with_file_name(
- format!("{}-ids.pdf", form_file_prefix)
- );
-
- return generate_fill_helpers(
- toml_path,
- ids_path,
- &mut form,
- );
- } else {
- print_usage(&opts);
-
- process::exit(exitcode::USAGE);
+ for pdf_path in &opt_matches.free {
+ let form_path = Path::new(&pdf_path);
+ let form_file_prefix = form_path
+ .file_stem()
+ .ok_or(anyhow::anyhow!("no file name"))?
+ .to_str()
+ .ok_or(anyhow::anyhow!("error converting file name"))?;
+
+ let toml_file_name = format!("{}.toml", form_file_prefix);
+ let toml_path = form_path.with_file_name(toml_file_name);
+ let output_file_name = format!("{}-filled.pdf", form_file_prefix);
+
+ let mut form = Form::load(form_path)?;
+
+ if opt_matches.opt_present("fill") {
+ fill(
+ toml_path,
+ form_path.with_file_name(output_file_name),
+ &mut form,
+ )?;
+ } else if opt_matches.opt_present("generate") {
+ let ids_path = form_path.with_file_name(
+ format!("{}-ids.pdf", form_file_prefix)
+ );
+
+ generate_fill_helpers(
+ toml_path,
+ ids_path,
+ &mut form,
+ )?;
+ } else {
+ print_usage(&opts);
+
+ process::exit(exitcode::USAGE);
+ }
}
+
+ Ok(())
}
/// Generate files to fill in the form.