func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	afmfc, err := pdf.NewAfmFontCollection("../../afm/data/fonts/*.afm")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(afmfc)

	doc.SetUnits("in")
	doc.SetLineSpacing(1.5)
	doc.MoveTo(1, 1)

	for _, info := range afmfc.FontInfos {
		if doc.Y() > 10 {
			doc.NewPage()
			doc.MoveTo(1, 1)
		}
		_, err = doc.SetFont(info.PostScriptName(), 12, pdf.Options{})
		if err != nil {
			panic(err)
		}
		fmt.Fprintln(doc, info.FullName())
	}
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	ttfc, err := pdf.NewTtfFontCollection("/Library/Fonts/*.ttf")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(ttfc)
	doc.SetUnits("in")

	doc.NewPage()
	doc.MoveTo(1, 1)
	doc.SetFont("Courier New", 12, pdf.Options{})
	doc.SetUnderline(true)
	doc.Print("Rich Text\n\n")
	doc.SetUnderline(false)
	doc.SetLineSpacing(1.2)

	lines := []*pdf.RichText{
		makeRtLine(doc, line1),
		makeRtLine(doc, line2),
		makeRtLine(doc, line3),
		makeRtLine(doc, line4),
		makeRtLine(doc, line5),
		makeRtLine(doc, line6),
	}
	doc.PrintParagraph(lines)
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	ttfc, err := pdf.NewTtfFontCollection("/Library/Fonts/*.ttf")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(ttfc)

	doc.SetUnits("in")
	doc.SetLineSpacing(1.5)
	doc.MoveTo(1, 1)

	for _, info := range ttfc.FontInfos {
		if doc.Y() > 10 {
			doc.NewPage()
			doc.MoveTo(1, 1)
		}
		_, err = doc.SetFont(info.Family(), 12, pdf.Options{"style": info.Style()})
		if err != nil {
			panic(err)
		}
		fmt.Fprintln(doc, info.FullName())
	}
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	doc.NewPage()

	doc.SetLineColor(pdf.Blue)
	doc.SetLineWidth(3, "pt")
	doc.SetLineDashPattern("dashed")

	doc.SetUnits("in")
	doc.MoveTo(1, 1)
	doc.LineTo(2, 2)

	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	afmfc, err := pdf.NewAfmFontCollection("../../afm/data/fonts/*.afm")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(afmfc)
	ttfc, err := pdf.NewTtfFontCollection("/Library/Fonts/*.ttf")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(ttfc)

	doc.NewPage()
	doc.SetUnits("in")

	_, err = doc.SetFont("Helvetica", 12, pdf.Options{})
	if err != nil {
		panic(err)
	}
	doc.MoveTo(1, 1)
	doc.Print("Hello, World!")

	_, err = doc.SetFont("Arial", 14, pdf.Options{})
	if err != nil {
		panic(err)
	}
	doc.MoveTo(2, 2)
	doc.Print("Goodbye, cruel world...")

	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	doc := pdf.NewDocWriter()
	afmfc, err := pdf.NewAfmFontCollection("../../afm/data/fonts/*.afm")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(afmfc)
	doc.SetUnits("in")

	doc.NewPage()
	doc.MoveTo(1, 1)
	_, err = doc.SetFont("Helvetica", 12, pdf.Options{})
	if err != nil {
		panic(err)
	}
	doc.SetUnderline(true)
	doc.Print("I18N Text\n\n")
	doc.SetUnderline(false)
	doc.SetLineSpacing(1.2)

	for _, k := range i18nKeys {
		// fmt.Println(i18nText[k])
		if doc.Y() > 10 {
			doc.NewPage()
			doc.MoveTo(1, 1)
		}
		fmt.Fprintf(doc, "%s:\n", k)
		doc.PrintWithOptions(i18nText[k], pdf.Options{"width": 6.5})
		fmt.Fprintln(doc)
	}
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}