func main() { flag.BoolVar(&util.Debug, "debug", false, "enable debug logging") flag.BoolVar(&pdutil.Debugobj, "dump", false, "dump object content") flag.IntVar(&maxlevel, "levels", 5, "maximum number of levels") displayref := flag.String("r", "", "display resource by reference") flag.Parse() for _, f := range flag.Args() { fmt.Println("----", f, "--------------------") pd := pdfread.Load(f) if pd == nil { fmt.Println("can't open input file") fmt.Println() continue } fmt.Println(pd.Version) fmt.Println() if *displayref != "" { PrintRef(os.Stdout, pd, *displayref, "") fmt.Println() break } pdutil.Printdic(os.Stdout, pd, pd.Trailer, "", "/Trailer", maxlevel, "") fmt.Println() } }
func main() { asHtml := flag.Bool("html", false, "output as html (true) or xml (false)") debug := flag.Bool("debug", false, "debug mode") page := flag.Int("page", 0, "page number") flag.Parse() if *page < 0 { complain("Bad page!\n\n") } if flag.NArg() != 1 { complain("") } pd := pdfread.Load(flag.Arg(0)) if pd == nil { complain("Could not load pdf file!\n\n") } util.Debug = *debug if *asHtml { fmt.Printf("<!DOCTYPE html><html><body>\n%s</body></html>\n", svg.Page(pd, *page, false)) } else { fmt.Printf("%s", svg.Page(pd, *page, true)) } }
func main() { pd := pdfread.Load(os.Args[1]) if pd != nil { fmt.Println("PageMode", pd.PageMode) fmt.Println() outlines := pd.Outlines() if len(outlines) > 0 { fmt.Println("Outlines:") for _, p := range outlines { fmt.Println("Page", p.Page+1, "-", p.Title) } fmt.Println() } fmt.Println("Pages:") pg := pd.Pages() for k := range pg { fmt.Printf("Page %d - MediaBox: %s\n", k+1, pd.Att("/MediaBox", pg[k])) fonts := pd.PageFonts(pg[k]) for l := range fonts { fontname := pd.Dic(fonts[l])["/BaseFont"] fmt.Printf(" %s = \"%s\"\n", l, fontname[1:]) } } } }
func main() { pd := pdfread.Load(os.Args[1]) _, d := pd.DecodedStream(util.Bytes(os.Args[2])) fmt.Printf("%s", d) /* a := cmapi.Read(fancy.SliceReader(d)); fmt.Printf("\n%v\n%v\n%v\n", a, a.Ranges, a.Uni); */ }
func main() { flag.BoolVar(&util.Debug, "debug", false, "print debug info") page := flag.Int("page", 0, "page to extract, all pages if missing") flag.Parse() if flag.NArg() != 1 { complain("") } if *page < 0 { complain("Bad page!\n\n") } filename := flag.Arg(0) pd := pdfread.Load(filename) if pd == nil { complain("Could not load pdf file!\n\n") } npages := len(pd.Pages()) if *page > npages { complain("Page out of range!\n\n") } output := path.Base(filename) if p := strings.LastIndex(output, "."); p > 0 { output = output[:p] } output += ".tif" f, err := os.Create(output) if err != nil { log.Fatal(err) } defer f.Close() t := NewTiffBuilder(f) t.WriteHeader() if *page == 0 { for p := 1; p <= npages; p++ { extract(pd, p, t, p < npages) fmt.Println("--------------") } return } if *page <= npages { extract(pd, *page, t, false) return } }
func main() { if len(os.Args) == 1 || len(os.Args) > 2 { complain("") } pd = pdfread.Load(os.Args[1]) if pd == nil { complain("Could not load pdf file!\n\n") } http.Handle("/hello", http.HandlerFunc(HelloServer)) err := http.ListenAndServe(":12345", nil) if err != nil { panic(fmt.Sprintf("ListenAndServe: %s", err)) } }