use std::{env, fs};
use anyhow::Result;
use headless_chrome::{Browser, types::PrintToPdfOptions};
fn main() -> Result<()> {
let debug_ws_url = env::args().nth(1).expect("Must provide debug_ws_url");
let file_path = format!(
"file://{}",
env::args()
.nth(2)
.expect("Must provide path/to/file/index.html")
);
let browser = Browser::connect(debug_ws_url)?;
let tab = browser.new_tab()?;
let wikidata = tab
.navigate_to("https://www.wikipedia.org")?
.wait_until_navigated()?
.print_to_pdf(None)?;
fs::write("wiki.pdf", wikidata)?;
println!("PDF successfully created from internet web page.");
let pdf_options: Option<PrintToPdfOptions> = None; let local_pdf = tab
.navigate_to(&file_path)?
.wait_until_navigated()?
.print_to_pdf(pdf_options)?;
fs::write("rust.pdf", local_pdf)?;
println!("PDF successfully created from local web page.");
Ok(())
}