Documentation ¶
Index ¶
- Constants
- Variables
- func CheckSum(data []byte) uint
- func ContentObjCalTextHeight(fontsize int) float64
- func ContentObjCalTextHeightPrecise(fontsize float64) float64
- func CreateEmbeddedFontSubsetName(name string) string
- func DefaultOnGlyphNotFoundSubstitute(r rune) rune
- func DesignUnitsToPdf(val int, unitsPerEm uint) int
- func FontConvertHelperCw2Str(cw FontCw) string
- func FontConvertHelper_Cw2Str(cw FontCw) string
- func FormatFloatTrim(floatval float64) (formatted string)
- func GetBuffer() *bytes.Buffer
- func ImgReactagleToWH(imageRect image.Rectangle) (float64, float64)
- func PointsToUnits(t int, u float64) float64
- func PointsToUnitsVar(t int, u ...*float64)
- func PutBuffer(buf *bytes.Buffer)
- func ReadShortFromByte(data []byte, offset int) (int64, int)
- func ReadUShortFromByte(data []byte, offset int) (uint64, int)
- func StrHelperGetStringWidth(str string, fontSize int, ifont IFont) float64
- func StrHelperGetStringWidthPrecise(str string, fontSize float64, ifont IFont) float64
- func ToByte(chr string) byte
- func UnitsToPoints(t int, u float64) float64
- func UnitsToPointsVar(t int, u ...*float64)
- func WriteBytes(w io.Writer, data []byte, offset int, count int) error
- func WriteTag(w io.Writer, tag string) error
- func WriteUInt16(w io.Writer, v uint) error
- func WriteUInt32(w io.Writer, v uint) error
- type BlendModeType
- type Box
- type BreakMode
- type BreakOption
- type Buff
- type CIDFontObj
- type CacheContent
- type CatalogObj
- type CellOption
- type ColorSpaces
- type Config
- type ContentObj
- func (c *ContentObj) AppendStreamCurve(x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64, ...)
- func (c *ContentObj) AppendStreamImage(index int, opts ImageOptions)
- func (c *ContentObj) AppendStreamImportedTemplate(tplName string, scaleX float64, scaleY float64, tX float64, tY float64)
- func (c *ContentObj) AppendStreamLine(x1 float64, y1 float64, x2 float64, y2 float64, lineOpts lineOptions)
- func (c *ContentObj) AppendStreamOval(x1 float64, y1 float64, x2 float64, y2 float64)
- func (c *ContentObj) AppendStreamPolygon(points []Point, style string, opts polygonOptions)
- func (c *ContentObj) AppendStreamRectangle(opts DrawableRectOptions)
- func (c *ContentObj) AppendStreamSetColorFill(r uint8, g uint8, b uint8)
- func (c *ContentObj) AppendStreamSetColorFillCMYK(cy, m, y, k uint8)
- func (c *ContentObj) AppendStreamSetColorStroke(r uint8, g uint8, b uint8)
- func (c *ContentObj) AppendStreamSetColorStrokeCMYK(cy, m, y, k uint8)
- func (c *ContentObj) AppendStreamSetCustomLineType(a []float64, p float64)
- func (c *ContentObj) AppendStreamSetGrayFill(w float64)
- func (c *ContentObj) AppendStreamSetGrayStroke(w float64)
- func (c *ContentObj) AppendStreamSetLineType(t string)
- func (c *ContentObj) AppendStreamSetLineWidth(w float64)
- func (c *ContentObj) AppendStreamSubsetFont(rectangle *Rect, text string, cellOpt CellOption) error
- func (c *ContentObj) AppendStreamText(text string) error
- func (c *ContentObj) GetCacheContentImage(index int, opts ImageOptions) *cacheContentImage
- type CropOptions
- type Current
- type DeviceRGBObj
- type DrawableRectOptions
- type EmbedFontObj
- type EncodingObj
- type EncryptionObj
- type ExtGS
- type ExtGState
- type ExtGStateOptions
- type ExtGStatesMap
- type FontCw
- type FontDescItem
- type FontDescriptorObj
- type FontObj
- type FuncKernOverride
- type GoPdf
- func (gp *GoPdf) AddExternalLink(url string, x, y, w, h float64)
- func (gp *GoPdf) AddFooter(f func())
- func (gp *GoPdf) AddHeader(f func())
- func (gp *GoPdf) AddInternalLink(anchor string, x, y, w, h float64)
- func (gp *GoPdf) AddOutline(title string)
- func (gp *GoPdf) AddOutlineWithPosition(title string) *OutlineObj
- func (gp *GoPdf) AddPage()
- func (gp *GoPdf) AddPageWithOption(opt PageOption)
- func (gp *GoPdf) AddTTFFont(family string, ttfpath string) error
- func (gp *GoPdf) AddTTFFontByReader(family string, rd io.Reader) error
- func (gp *GoPdf) AddTTFFontByReaderWithOption(family string, rd io.Reader, option TtfOption) error
- func (gp *GoPdf) AddTTFFontData(family string, fontData []byte) error
- func (gp *GoPdf) AddTTFFontDataWithOption(family string, fontData []byte, option TtfOption) error
- func (gp *GoPdf) AddTTFFontWithOption(family string, ttfpath string, option TtfOption) error
- func (gp *GoPdf) Br(h float64)
- func (gp *GoPdf) Cell(rectangle *Rect, text string) error
- func (gp *GoPdf) CellWithOption(rectangle *Rect, text string, opt CellOption) error
- func (gp *GoPdf) ClearTransparency()
- func (gp *GoPdf) Close() error
- func (gp *GoPdf) Curve(x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64, ...)
- func (gp *GoPdf) FillInPlaceHoldText(placeHolderName string, text string, align int) error
- func (gp *GoPdf) GetBytesPdf() []byte
- func (gp *GoPdf) GetBytesPdfReturnErr() ([]byte, error)
- func (gp *GoPdf) GetInfo() PdfInfo
- func (gp *GoPdf) GetNextObjectID() int
- func (gp *GoPdf) GetNumberOfPages() int
- func (gp *GoPdf) GetX() float64
- func (gp *GoPdf) GetY() float64
- func (gp *GoPdf) Image(picPath string, x float64, y float64, rect *Rect) error
- func (gp *GoPdf) ImageByHolder(img ImageHolder, x float64, y float64, rect *Rect) error
- func (gp *GoPdf) ImageByHolderWithOptions(img ImageHolder, opts ImageOptions) error
- func (gp *GoPdf) ImageFormStream(pic []byte, x float64, y float64, rect *Rect) error
- func (gp *GoPdf) ImageFrom(img image.Image, x float64, y float64, rect *Rect) error
- func (gp *GoPdf) ImageFromWithOption(img image.Image, opts ImageFromOption) error
- func (gp *GoPdf) ImportObjects(objs map[int]string, startObjID int)
- func (gp *GoPdf) ImportPage(sourceFile string, pageno int, box string) int
- func (gp *GoPdf) ImportPageStream(sourceStream *io.ReadSeeker, pageno int, box string) int
- func (gp *GoPdf) ImportTemplates(tpls map[string]int)
- func (gp *GoPdf) IsCurrFontContainGlyph(r rune) (bool, error)
- func (gp *GoPdf) IsFitMultiCell(rectangle *Rect, text string) (bool, float64, error)
- func (gp *GoPdf) IsFitMultiCellWithNewline(rectangle *Rect, text string) (bool, float64, error)
- func (gp *GoPdf) KernOverride(family string, fn FuncKernOverride) error
- func (gp *GoPdf) Line(x1 float64, y1 float64, x2 float64, y2 float64)
- func (gp *GoPdf) MarginBottom() float64
- func (gp *GoPdf) MarginLeft() float64
- func (gp *GoPdf) MarginRight() float64
- func (gp *GoPdf) MarginTop() float64
- func (gp *GoPdf) Margins() (float64, float64, float64, float64)
- func (gp *GoPdf) MeasureCellHeightByText(text string) (float64, error)
- func (gp *GoPdf) MeasureTextWidth(text string) (float64, error)
- func (gp *GoPdf) MultiCell(rectangle *Rect, text string) error
- func (gp *GoPdf) MultiCellWithOption(rectangle *Rect, text string, opt CellOption) error
- func (gp *GoPdf) Oval(x1 float64, y1 float64, x2 float64, y2 float64)
- func (gp *GoPdf) PlaceHolderText(placeHolderName string, placeHolderWidth float64) error
- func (gp *GoPdf) PointsToUnits(u float64) float64
- func (gp *GoPdf) PointsToUnitsVar(u ...*float64)
- func (gp *GoPdf) Polygon(points []Point, style string)
- func (gp *GoPdf) Read(p []byte) (int, error)
- func (gp *GoPdf) RectFromLowerLeft(x float64, y float64, wdth float64, hght float64)
- func (gp *GoPdf) RectFromLowerLeftWithOpts(opts DrawableRectOptions) error
- func (gp *GoPdf) RectFromLowerLeftWithStyle(x float64, y float64, wdth float64, hght float64, style string)
- func (gp *GoPdf) RectFromUpperLeft(x float64, y float64, wdth float64, hght float64)
- func (gp *GoPdf) RectFromUpperLeftWithOpts(opts DrawableRectOptions) error
- func (gp *GoPdf) RectFromUpperLeftWithStyle(x float64, y float64, wdth float64, hght float64, style string)
- func (gp *GoPdf) Rectangle(x0 float64, y0 float64, x1 float64, y1 float64, style string, radius float64, ...) error
- func (gp *GoPdf) Rotate(angle, x, y float64)
- func (gp *GoPdf) RotateReset()
- func (gp *GoPdf) SetAnchor(name string)
- func (gp *GoPdf) SetCharSpacing(charSpacing float64) error
- func (gp *GoPdf) SetCompressLevel(level int)
- func (gp *GoPdf) SetCurPage(pageNum int)
- func (gp *GoPdf) SetCustomLineType(dashArray []float64, dashPhase float64)
- func (gp *GoPdf) SetFillColor(r uint8, g uint8, b uint8)
- func (gp *GoPdf) SetFillColorCMYK(c, m, y, k uint8)
- func (gp *GoPdf) SetFont(family string, style string, size interface{}) error
- func (gp *GoPdf) SetFontSize(fontSize float64) error
- func (gp *GoPdf) SetFontWithStyle(family string, style int, size interface{}) error
- func (gp *GoPdf) SetGrayFill(grayScale float64)
- func (gp *GoPdf) SetGrayStroke(grayScale float64)
- func (gp *GoPdf) SetInfo(info PdfInfo)
- func (gp *GoPdf) SetLeftMargin(margin float64)
- func (gp *GoPdf) SetLineType(linetype string)
- func (gp *GoPdf) SetLineWidth(width float64)
- func (gp *GoPdf) SetMarginBottom(margin float64)
- func (gp *GoPdf) SetMarginLeft(margin float64)
- func (gp *GoPdf) SetMarginRight(margin float64)
- func (gp *GoPdf) SetMarginTop(margin float64)
- func (gp *GoPdf) SetMargins(left, top, right, bottom float64)
- func (gp *GoPdf) SetNewXY(y float64, x, h float64)
- func (gp *GoPdf) SetNewY(y float64, h float64)
- func (gp *GoPdf) SetNewYIfNoOffset(y float64, h float64)
- func (gp *GoPdf) SetNoCompression()
- func (gp *GoPdf) SetStrokeColor(r uint8, g uint8, b uint8)
- func (gp *GoPdf) SetStrokeColorCMYK(c, m, y, k uint8)
- func (gp *GoPdf) SetTextColor(r uint8, g uint8, b uint8)
- func (gp *GoPdf) SetTextColorCMYK(c, m, y, k uint8)
- func (gp *GoPdf) SetTopMargin(margin float64)
- func (gp *GoPdf) SetTransparency(transparency Transparency) error
- func (gp *GoPdf) SetX(x float64)
- func (gp *GoPdf) SetXY(x, y float64)
- func (gp *GoPdf) SetY(y float64)
- func (gp *GoPdf) SplitText(text string, width float64) ([]string, error)
- func (gp *GoPdf) SplitTextWithOption(text string, width float64, opt *BreakOption) ([]string, error)
- func (gp *GoPdf) SplitTextWithWordWrap(text string, width float64) ([]string, error)
- func (gp *GoPdf) Start(config Config)
- func (gp *GoPdf) StartWithImporter(config Config, importer *gofpdi.Importer)
- func (gp *GoPdf) Text(text string) error
- func (gp *GoPdf) UnitsToPoints(u float64) float64
- func (gp *GoPdf) UnitsToPointsVar(u ...*float64)
- func (gp *GoPdf) UseImportedTemplate(tplid int, x float64, y float64, w float64, h float64)
- func (gp *GoPdf) Write(w io.Writer) errordeprecated
- func (gp *GoPdf) WritePdf(pdfPath string) error
- func (gp *GoPdf) WriteTo(w io.Writer) (n int64, err error)
- type ICacheColorText
- type ICacheContent
- type IFont
- type IObj
- type ImageCache
- type ImageFromOption
- type ImageHolder
- type ImageObj
- type ImageOptions
- type ImportedObj
- type MapOfCharacterToGlyphIndex
- func (m *MapOfCharacterToGlyphIndex) AllKeys() []rune
- func (m *MapOfCharacterToGlyphIndex) AllVals() []uint
- func (m *MapOfCharacterToGlyphIndex) Index(k rune) (int, bool)
- func (m *MapOfCharacterToGlyphIndex) KeyExists(k rune) bool
- func (m *MapOfCharacterToGlyphIndex) Set(k rune, v uint)
- func (m *MapOfCharacterToGlyphIndex) Val(k rune) (uint, bool)
- type Margins
- type MaskOptions
- type OutlineNode
- type OutlineNodes
- type OutlineObj
- type OutlinesObj
- type PDFProtection
- type PDFProtectionConfig
- type PageObj
- type PageOption
- type PagesObj
- type PaintStyle
- type PdfDictionaryObj
- type PdfInfo
- type PlaceHolderTextOption
- type Point
- type ProcSetObj
- type Rect
- type RelateFont
- type RelateFonts
- type RelateXobject
- type RelateXobjects
- type SMask
- type SMaskMap
- type SMaskOptions
- type SMaskSubtypes
- type SubfontDescriptorObj
- type SubsetFontObj
- func (s *SubsetFontObj) AddChars(txt string) (string, error)
- func (s *SubsetFontObj) CharCodeToGlyphIndex(r rune) (uint, error)
- func (s *SubsetFontObj) CharIndex(r rune) (uint, error)
- func (s *SubsetFontObj) CharWidth(r rune) (uint, error)
- func (s *SubsetFontObj) GetAscender() int
- func (s *SubsetFontObj) GetAscenderPx(fontSize float64) float64
- func (s *SubsetFontObj) GetDescender() int
- func (s *SubsetFontObj) GetDescenderPx(fontSize float64) float64
- func (s *SubsetFontObj) GetFamily() string
- func (s *SubsetFontObj) GetTTFParser() *core.TTFParser
- func (s *SubsetFontObj) GetTtfFontOption() TtfOption
- func (s *SubsetFontObj) GetUnderlinePosition() int
- func (s *SubsetFontObj) GetUnderlinePositionPx(fontSize float64) float64
- func (s *SubsetFontObj) GetUnderlineThickness() int
- func (s *SubsetFontObj) GetUnderlineThicknessPx(fontSize float64) float64
- func (s *SubsetFontObj) GlyphIndexToPdfWidth(glyphIndex uint) uint
- func (s *SubsetFontObj) KernValueByLeft(left uint) (bool, *core.KernValue)
- func (s *SubsetFontObj) SetFamily(familyname string)
- func (s *SubsetFontObj) SetIndexObjCIDFont(index int)
- func (s *SubsetFontObj) SetIndexObjUnicodeMap(index int)
- func (s *SubsetFontObj) SetTTFByPath(ttfpath string) error
- func (s *SubsetFontObj) SetTTFByReader(rd io.Reader) error
- func (s *SubsetFontObj) SetTTFData(data []byte) error
- func (s *SubsetFontObj) SetTtfFontOption(option TtfOption)
- type Transparency
- type TransparencyMap
- type TransparencyXObjectGroup
- type TransparencyXObjectGroupOptions
- type TtfOption
- type UnicodeMap
Examples ¶
Constants ¶
const ( UnitUnset = iota // No units were set, when conversion is called on nothing will happen UnitPT // Points UnitMM // Millimeters UnitCM // Centimeters UnitIN // Inches UnitPX // Pixels )
The units that can be used in the document
const ( Unit_Unset = UnitUnset // No units were set, when conversion is called on nothing will happen Unit_PT = UnitPT // Points Unit_MM = UnitMM // Millimeters Unit_CM = UnitCM // Centimeters Unit_IN = UnitIN // Inches Unit_PX = UnitPX // Pixels )
The units that can be used in the document (for backward compatibility) Deprecated: Use UnitUnset,UnitPT,UnitMM,UnitCM,UnitIN instead
const ( //PermissionsPrint setProtection print PermissionsPrint = 4 //PermissionsModify setProtection modify PermissionsModify = 8 //PermissionsCopy setProtection copy PermissionsCopy = 16 //PermissionsAnnotForms setProtection annot-forms PermissionsAnnotForms = 32 )
const ( SMaskAlphaSubtype = "/Alpha" SMaskLuminositySubtype = "/Luminosity" )
const AllBorders = 15 //001111
AllBorders allborders
const Bold = 2 //000010
Bold - font style bold
const Bottom = 1 //000001
Bottom bottom
const Center = 16 //010000
Center center
const ContentTypeCell = 0
ContentTypeCell cell
const ContentTypeText = 1
ContentTypeText text
const DefaultAplhaValue = 1
const (
DeviceGray = "DeviceGray"
)
const Italic = 1 //000001
Italic - font style italic
const Left = 8 //001000
Left left
const Middle = 32 //100000
Middle middle
const Regular = 0 //000000
Regular - font style regular
const Right = 2 //000010
Right right
const Top = 4 //000100
Top top
const Underline = 4 //000100
Underline - font style underline
Variables ¶
var ( // DefaultBreakOption will cause the text to break mid-word without any separator suffixes. DefaultBreakOption = BreakOption{ Mode: BreakModeStrict, BreakIndicator: 0, Separator: "", } )
var EntrySelectors = []int{
0, 0, 1, 1, 2, 2,
2, 2, 3, 3, 3, 3,
3, 3, 3, 3, 4, 4,
4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4,
}
EntrySelectors entry selectors
var ErrCharNotFound = errors.New("char not found")
ErrCharNotFound char not found
var ErrContentTypeNotFound = errors.New("contentType not found")
var ErrEmptyString = errors.New("empty string")
var ErrGlyphNotFound = errors.New("glyph not found")
ErrGlyphNotFound font file not contain glyph
var ErrInvalidRectangleCoordinates = errors.New("Invalid coordinates for the rectangle")
var ErrInvalidRectangleRadius = errors.New("Radius length cannot exceed rectangle height or width")
var ErrMissingFontFamily = errors.New("font family not found")
var ErrNotSupportShortIndexYet = errors.New("not support none short index yet")
ErrNotSupportShortIndexYet not support none short index yet
var ErrUndefinedCacheContentImage = errors.New("cacheContentImage is undefined")
var PageSize10x14 = &Rect{W: 720, H: 1008, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSize10x14 page format
var PageSizeA0 = &Rect{W: 2384, H: 3371, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA0 page format
var PageSizeA1 = &Rect{W: 1685, H: 2384, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA1 page format
var PageSizeA2 = &Rect{W: 1190, H: 1684, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA2 page format
var PageSizeA3 = &Rect{W: 842, H: 1190, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA3 page format
var PageSizeA4 = &Rect{W: 595, H: 842, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA4 page format
var PageSizeA4Landscape = &Rect{W: 842, H: 595, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA4Landscape page format
var PageSizeA4Small = &Rect{W: 595, H: 842, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA4Small page format
var PageSizeA5 = &Rect{W: 420, H: 595, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeA5 page format
var PageSizeB4 = &Rect{W: 729, H: 1032, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeB4 page format
var PageSizeB5 = &Rect{W: 516, H: 729, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeB5 page format
var PageSizeExecutive = &Rect{W: 540, H: 720, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeExecutive page format
var PageSizeFolio = &Rect{W: 612, H: 936, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeFolio page format
var PageSizeLedger = &Rect{W: 1224, H: 792, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeLedger page format
var PageSizeLegal = &Rect{W: 612, H: 1008, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeLegal page format
var PageSizeLetter = &Rect{W: 612, H: 792, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeLetter page format
var PageSizeLetterSmall = &Rect{W: 612, H: 792, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeLetterSmall page format
var PageSizeQuarto = &Rect{W: 610, H: 780, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeQuarto page format
var PageSizeStatement = &Rect{W: 396, H: 612, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeStatement page format
var PageSizeTabloid = &Rect{W: 792, H: 1224, unitOverride: defaultUnitConfig{Unit: UnitPT}}
PageSizeTabloid page format
Functions ¶
func ContentObjCalTextHeight ¶
ContentObjCalTextHeight : calculates height of text.
func ContentObjCalTextHeightPrecise ¶
ContentObjCalTextHeightPrecise : like ContentObjCalTextHeight, but fontsize float64
func CreateEmbeddedFontSubsetName ¶
CreateEmbeddedFontSubsetName create Embedded font (subset font) name
func DesignUnitsToPdf ¶
DesignUnitsToPdf convert unit
func FontConvertHelperCw2Str ¶
FontConvertHelperCw2Str converts main ASCII characters of a FontCW to a string.
func FontConvertHelper_Cw2Str ¶
FontConvertHelper_Cw2Str converts main ASCII characters of a FontCW to a string. (for backward compatibility) Deprecated: Use FontConvertHelperCw2Str(cw FontCw) instead
func FormatFloatTrim ¶
FormatFloatTrim converts a float64 into a string, like Sprintf("%.3f") but with trailing zeroes (and possibly ".") removed
Example ¶
fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(10)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(10.0)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(10.01)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(10.001)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(10.0001)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(10.00001)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(9.99999)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(9.9999)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(9.999)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(9.99)) fmt.Printf("/F1 %s Tf\n", FormatFloatTrim(9.9))
Output: /F1 10 Tf /F1 10 Tf /F1 10.01 Tf /F1 10.001 Tf /F1 10 Tf /F1 10 Tf /F1 10 Tf /F1 10 Tf /F1 9.999 Tf /F1 9.99 Tf /F1 9.9 Tf
func ImgReactagleToWH ¶
ImgReactagleToWH Rectangle to W and H
func PointsToUnits ¶
PointsToUnits converts points to the provided units
func PointsToUnitsVar ¶
PointsToUnitsVar converts points to the provided units for all variables supplied
func ReadShortFromByte ¶
ReadShortFromByte read short from byte array
func ReadUShortFromByte ¶
ReadUShortFromByte read ushort from byte array
func StrHelperGetStringWidth ¶
StrHelperGetStringWidth get string width
func StrHelperGetStringWidthPrecise ¶
StrHelperGetStringWidthPrecise get string width with real number fontSize
func UnitsToPoints ¶
UnitsToPoints converts units of the provided type to points
func UnitsToPointsVar ¶
UnitsToPointsVar converts units of the provided type to points for all variables supplied
func WriteBytes ¶
WriteBytes writes []byte value to w io.Writer
func WriteUInt16 ¶
WriteUInt16 writes a 16-bit unsigned integer value to w io.Writer
Types ¶
type BlendModeType ¶
type BlendModeType string
const ( Hue BlendModeType = "/Hue" Color BlendModeType = "/Color" NormalBlendMode BlendModeType = "/Normal" Darken BlendModeType = "/Darken" Screen BlendModeType = "/Screen" Overlay BlendModeType = "/Overlay" Lighten BlendModeType = "/Lighten" Multiply BlendModeType = "/Multiply" Exclusion BlendModeType = "/Exclusion" ColorBurn BlendModeType = "/ColorBurn" HardLight BlendModeType = "/HardLight" SoftLight BlendModeType = "/SoftLight" Difference BlendModeType = "/Difference" Saturation BlendModeType = "/Saturation" Luminosity BlendModeType = "/Luminosity" ColorDodge BlendModeType = "/ColorDodge" )
type Box ¶
type Box struct {
Left, Top, Right, Bottom float64
// contains filtered or unexported fields
}
func (*Box) UnitsToPoints ¶
UnitsToPoints converts the box coordinates to Points. When this is called it is assumed the values of the box are in Units
type BreakMode ¶
type BreakMode int
BreakMode type for text break modes.
const ( // BreakModeStrict causes the text-line to break immediately in case the current character would not fit into // the processed text-line. The separator (if provided) will be attached accordingly as a line suffix // to stay within the defined width. BreakModeStrict BreakMode = iota // BreakModeIndicatorSensitive will try to break the current line based on the last index of a provided // BreakIndicator. If no indicator sensitive break can be performed a strict break will be performed, // potentially working with the given separator as a suffix. BreakModeIndicatorSensitive )
type BreakOption ¶
type BreakOption struct { // Mode defines the mode which should be used Mode BreakMode // BreakIndicator is taken into account when using indicator sensitive mode to avoid mid-word line breaks BreakIndicator rune // Separator will act as a suffix for mid-word breaks when using strict mode Separator string }
BreakOption allows to configure the behavior of splitting or breaking larger texts via SplitTextWithOption.
func (BreakOption) HasSeparator ¶
func (bo BreakOption) HasSeparator() bool
type CIDFontObj ¶
type CIDFontObj struct { PtrToSubsetFontObj *SubsetFontObj // contains filtered or unexported fields }
CIDFontObj is a CID-keyed font. cf. https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5014.CIDFont_Spec.pdf
func (*CIDFontObj) SetIndexObjSubfontDescriptor ¶
func (ci *CIDFontObj) SetIndexObjSubfontDescriptor(index int)
SetIndexObjSubfontDescriptor set indexObjSubfontDescriptor
func (*CIDFontObj) SetPtrToSubsetFontObj ¶
func (ci *CIDFontObj) SetPtrToSubsetFontObj(ptr *SubsetFontObj)
SetPtrToSubsetFontObj set PtrToSubsetFontObj
type CacheContent ¶
type CacheContent struct {
// contains filtered or unexported fields
}
CacheContent Export cacheContent
func (*CacheContent) Setup ¶
func (c *CacheContent) Setup(rectangle *Rect, textColor ICacheColorText, grayFill float64, fontCountIndex int, fontSize float64, fontStyle int, charSpacing float64, setXCount int, x, y float64, fontSubset *SubsetFontObj, pageheight float64, contentType int, cellOpt CellOption, lineWidth float64, )
Setup setup all information for cacheContent
func (*CacheContent) WriteTextToContent ¶
func (c *CacheContent) WriteTextToContent(text string)
WriteTextToContent write text to content
type CatalogObj ¶
type CatalogObj struct {
// contains filtered or unexported fields
}
CatalogObj : catalog dictionary
func (*CatalogObj) SetIndexObjOutlines ¶
func (c *CatalogObj) SetIndexObjOutlines(index int)
type CellOption ¶
type CellOption struct { Align int //Allows to align the text. Possible values are: Left,Center,Right,Top,Bottom,Middle Border int //Indicates if borders must be drawn around the cell. Possible values are: Left, Top, Right, Bottom, ALL Float int //Indicates where the current position should go after the call. Possible values are: Right, Bottom Transparency *Transparency CoefUnderlinePosition float64 CoefLineHeight float64 CoefUnderlineThickness float64 BreakOption *BreakOption // contains filtered or unexported fields }
CellOption cell option
type ColorSpaces ¶
type ColorSpaces string
type Config ¶
type Config struct { Unit int // The unit type to use when composing the document. //Value that use to convert units to points. //If this variable is not 0. This value will be used to calculate the unit conversion instead of the existing const value in the system. //And if this variable is not 0. Value in Config.Unit will not be used. ConversionForUnit float64 TrimBox Box // The default trim box for all pages in the document PageSize Rect // The default page size for all pages in the document K float64 // Not sure Protection PDFProtectionConfig // Protection settings }
Config static config
type ContentObj ¶
type ContentObj struct {
// contains filtered or unexported fields
}
ContentObj content object
func (*ContentObj) AppendStreamCurve ¶
func (c *ContentObj) AppendStreamCurve(x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64, x3 float64, y3 float64, style string)
AppendStreamCurve draw curve
- x0, y0: Start point
- x1, y1: Control point 1
- x2, y2: Control point 2
- x3, y3: End point
- style: Style of rectangule (draw and/or fill: D, F, DF, FD) D or empty string: draw. This is the default value. F: fill DF or FD: draw and fill
func (*ContentObj) AppendStreamImage ¶
func (c *ContentObj) AppendStreamImage(index int, opts ImageOptions)
AppendStreamImage append image
func (*ContentObj) AppendStreamImportedTemplate ¶
func (c *ContentObj) AppendStreamImportedTemplate(tplName string, scaleX float64, scaleY float64, tX float64, tY float64)
AppendStreamImportedTemplate append imported template
func (*ContentObj) AppendStreamLine ¶
func (c *ContentObj) AppendStreamLine(x1 float64, y1 float64, x2 float64, y2 float64, lineOpts lineOptions)
AppendStreamLine append line
func (*ContentObj) AppendStreamOval ¶
func (c *ContentObj) AppendStreamOval(x1 float64, y1 float64, x2 float64, y2 float64)
AppendStreamOval append oval
func (*ContentObj) AppendStreamPolygon ¶
func (c *ContentObj) AppendStreamPolygon(points []Point, style string, opts polygonOptions)
AppendStreamPolygon append polygon
func (*ContentObj) AppendStreamRectangle ¶
func (c *ContentObj) AppendStreamRectangle(opts DrawableRectOptions)
func (*ContentObj) AppendStreamSetColorFill ¶
func (c *ContentObj) AppendStreamSetColorFill(r uint8, g uint8, b uint8)
AppendStreamSetColorFill set the color fill
func (*ContentObj) AppendStreamSetColorFillCMYK ¶
func (c *ContentObj) AppendStreamSetColorFillCMYK(cy, m, y, k uint8)
AppendStreamSetColorFillCMYK set the color fill in CMYK color mode
func (*ContentObj) AppendStreamSetColorStroke ¶
func (c *ContentObj) AppendStreamSetColorStroke(r uint8, g uint8, b uint8)
AppendStreamSetColorStroke set the color stroke
func (*ContentObj) AppendStreamSetColorStrokeCMYK ¶
func (c *ContentObj) AppendStreamSetColorStrokeCMYK(cy, m, y, k uint8)
AppendStreamSetColorStrokeCMYK set the color stroke in CMYK color mode
func (*ContentObj) AppendStreamSetCustomLineType ¶
func (c *ContentObj) AppendStreamSetCustomLineType(a []float64, p float64)
AppendStreamSetCustomLineType : set a custom line type
func (*ContentObj) AppendStreamSetGrayFill ¶
func (c *ContentObj) AppendStreamSetGrayFill(w float64)
AppendStreamSetGrayFill set the grayscale fills
func (*ContentObj) AppendStreamSetGrayStroke ¶
func (c *ContentObj) AppendStreamSetGrayStroke(w float64)
AppendStreamSetGrayStroke set the grayscale stroke
func (*ContentObj) AppendStreamSetLineType ¶
func (c *ContentObj) AppendStreamSetLineType(t string)
AppendStreamSetLineType : Set linetype [solid, dashed, dotted]
func (*ContentObj) AppendStreamSetLineWidth ¶
func (c *ContentObj) AppendStreamSetLineWidth(w float64)
AppendStreamSetLineWidth : set line width
func (*ContentObj) AppendStreamSubsetFont ¶
func (c *ContentObj) AppendStreamSubsetFont(rectangle *Rect, text string, cellOpt CellOption) error
AppendStreamSubsetFont add stream of text
func (*ContentObj) AppendStreamText ¶
func (c *ContentObj) AppendStreamText(text string) error
AppendStreamText append text
func (*ContentObj) GetCacheContentImage ¶
func (c *ContentObj) GetCacheContentImage(index int, opts ImageOptions) *cacheContentImage
type Current ¶
type Current struct { X float64 Y float64 //font IndexOfFontObj int CountOfFont int CountOfL int FontSize float64 FontStyle int // Regular|Bold|Italic|Underline FontFontCount int FontType int // CURRENT_FONT_TYPE_IFONT or CURRENT_FONT_TYPE_SUBSET CharSpacing float64 FontISubset *SubsetFontObj // FontType == CURRENT_FONT_TYPE_SUBSET //page IndexOfPageObj int //img CountOfImg int //cache of image in pdf file ImgCaches map[int]ImageCache // contains filtered or unexported fields }
Current current state
type DeviceRGBObj ¶
type DeviceRGBObj struct {
// contains filtered or unexported fields
}
DeviceRGBObj DeviceRGB
type DrawableRectOptions ¶
type DrawableRectOptions struct { Rect X float64 Y float64 PaintStyle PaintStyle Transparency *Transparency // contains filtered or unexported fields }
type EmbedFontObj ¶
type EmbedFontObj struct { Data string // contains filtered or unexported fields }
EmbedFontObj is an embedded font object.
func (*EmbedFontObj) SetFont ¶
func (e *EmbedFontObj) SetFont(font IFont, zfontpath string)
SetFont sets the font of an embedded font object.
type EncodingObj ¶
type EncodingObj struct {
// contains filtered or unexported fields
}
EncodingObj is a font object.
func (*EncodingObj) GetFont ¶
func (e *EncodingObj) GetFont() IFont
GetFont gets the font from an encoding object.
func (*EncodingObj) SetFont ¶
func (e *EncodingObj) SetFont(font IFont)
SetFont sets the font of an encoding object.
type EncryptionObj ¶
type EncryptionObj struct {
// contains filtered or unexported fields
}
EncryptionObj encryption object res
type ExtGState ¶
type ExtGState struct { Index int CA *float64 BM *BlendModeType SMaskIndex *int // contains filtered or unexported fields }
TODO: add all fields https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf 8.4.5 page 128
func GetCachedExtGState ¶
func GetCachedExtGState(opts ExtGStateOptions, gp *GoPdf) (ExtGState, error)
type ExtGStateOptions ¶
type ExtGStateOptions struct { StrokingCA *float64 NonStrokingCa *float64 BlendMode *BlendModeType SMaskIndex *int }
func (ExtGStateOptions) GetId ¶
func (extOpt ExtGStateOptions) GetId() string
type ExtGStatesMap ¶
type ExtGStatesMap struct {
// contains filtered or unexported fields
}
func NewExtGStatesMap ¶
func NewExtGStatesMap() ExtGStatesMap
func (*ExtGStatesMap) Find ¶
func (extm *ExtGStatesMap) Find(extGState ExtGStateOptions) (ExtGState, bool)
type FontDescItem ¶
FontDescItem is a (key, value) pair.
type FontDescriptorObj ¶
type FontDescriptorObj struct {
// contains filtered or unexported fields
}
FontDescriptorObj is a font descriptor object.
func (*FontDescriptorObj) GetFont ¶
func (f *FontDescriptorObj) GetFont() IFont
GetFont gets font from descriptor.
func (*FontDescriptorObj) SetFont ¶
func (f *FontDescriptorObj) SetFont(font IFont)
SetFont sets the font in descriptor.
func (*FontDescriptorObj) SetFontFileObjRelate ¶
func (f *FontDescriptorObj) SetFontFileObjRelate(relate string)
SetFontFileObjRelate ???
type FontObj ¶
type FontObj struct { Family string //Style string //Size int IsEmbedFont bool Font IFont CountOfFont int // contains filtered or unexported fields }
FontObj font obj
func (*FontObj) SetIndexObjEncoding ¶
SetIndexObjEncoding sets the encoding.
func (*FontObj) SetIndexObjFontDescriptor ¶
SetIndexObjFontDescriptor sets the font descriptor.
func (*FontObj) SetIndexObjWidth ¶
SetIndexObjWidth sets the width of a font object.
type FuncKernOverride ¶
type FuncKernOverride func( leftRune rune, rightRune rune, leftPair uint, rightPair uint, pairVal int16, ) int16
FuncKernOverride return your custome pair value
type GoPdf ¶
type GoPdf struct { PageObj map[int]*PageObj ConObj map[int]*ContentObj // contains filtered or unexported fields }
GoPdf : A simple library for generating PDF written in Go lang
func (*GoPdf) AddExternalLink ¶
AddExternalLink adds a new external link.
func (*GoPdf) AddFooter ¶
func (gp *GoPdf) AddFooter(f func())
AddFooter - add a footer function, if present this will be automatically called by AddPage()
func (*GoPdf) AddHeader ¶
func (gp *GoPdf) AddHeader(f func())
AddHeader - add a header function, if present this will be automatically called by AddPage()
func (*GoPdf) AddInternalLink ¶
AddInternalLink adds a new internal link.
func (*GoPdf) AddOutline ¶
func (*GoPdf) AddOutlineWithPosition ¶
func (gp *GoPdf) AddOutlineWithPosition(title string) *OutlineObj
AddOutlineWithPosition add an outline with position
func (*GoPdf) AddPageWithOption ¶
func (gp *GoPdf) AddPageWithOption(opt PageOption)
AddPageWithOption : add new page with option
func (*GoPdf) AddTTFFont ¶
AddTTFFont : add font file
func (*GoPdf) AddTTFFontByReader ¶
AddTTFFontByReader adds font file by reader.
func (*GoPdf) AddTTFFontByReaderWithOption ¶
AddTTFFontByReaderWithOption adds font file by reader with option.
func (*GoPdf) AddTTFFontData ¶
AddTTFFontByReader adds font data by reader.
func (*GoPdf) AddTTFFontDataWithOption ¶
AddTTFFontDataWithOption adds font data with option.
func (*GoPdf) AddTTFFontWithOption ¶
AddTTFFontWithOption : add font file
func (*GoPdf) Cell ¶
Cell : create cell of text ( use current x,y is upper-left corner of cell) Note that this has no effect on Rect.H pdf (now). Fix later :-)
func (*GoPdf) CellWithOption ¶
func (gp *GoPdf) CellWithOption(rectangle *Rect, text string, opt CellOption) error
CellWithOption create cell of text ( use current x,y is upper-left corner of cell)
func (*GoPdf) ClearTransparency ¶
func (gp *GoPdf) ClearTransparency()
func (*GoPdf) Curve ¶
func (gp *GoPdf) Curve(x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64, x3 float64, y3 float64, style string)
Curve Draws a Bézier curve (the Bézier curve is tangent to the line between the control points at either end of the curve) Parameters: - x0, y0: Start point - x1, y1: Control point 1 - x2, y2: Control point 2 - x3, y3: End point - style: Style of rectangule (draw and/or fill: D, F, DF, FD)
func (*GoPdf) FillInPlaceHoldText ¶
[experimental] fill in text that created by function PlaceHolderText align: Left,Right,Center
func (*GoPdf) GetBytesPdf ¶
GetBytesPdf : get bytes of pdf file
func (*GoPdf) GetBytesPdfReturnErr ¶
GetBytesPdfReturnErr : get bytes of pdf file
func (*GoPdf) GetNextObjectID ¶
GetNextObjectID gets the next object ID so that gofpdi knows where to start the object IDs.
func (*GoPdf) GetNumberOfPages ¶
GetNumberOfPages gets the number of pages from the PDF.
func (*GoPdf) ImageByHolder ¶
ImageByHolder : draw image by ImageHolder
func (*GoPdf) ImageByHolderWithOptions ¶
func (gp *GoPdf) ImageByHolderWithOptions(img ImageHolder, opts ImageOptions) error
func (*GoPdf) ImageFormStream ¶
func (*GoPdf) ImageFromWithOption ¶
func (gp *GoPdf) ImageFromWithOption(img image.Image, opts ImageFromOption) error
func (*GoPdf) ImportObjects ¶
ImportObjects imports objects from gofpdi into current document.
func (*GoPdf) ImportPage ¶
ImportPage imports a page and return template id. gofpdi code
func (*GoPdf) ImportPageStream ¶
ImportPageStream imports page using a stream. Return template id after importing. gofpdi code
func (*GoPdf) ImportTemplates ¶
ImportTemplates names into procset dictionary.
func (*GoPdf) IsCurrFontContainGlyph ¶
IsCurrFontContainGlyph defines is current font contains to a glyph r: any rune
func (*GoPdf) IsFitMultiCell ¶
IsFitMultiCell : check whether the rectangle's area is big enough for the text
func (*GoPdf) IsFitMultiCellWithNewline ¶
IsFitMultiCellWithNewline : similar to IsFitMultiCell, but process char newline as Br
func (*GoPdf) KernOverride ¶
func (gp *GoPdf) KernOverride(family string, fn FuncKernOverride) error
KernOverride override kern value
func (*GoPdf) Line ¶
Line : draw line
Usage: pdf.SetTransparency(gopdf.Transparency{Alpha: 0.5,BlendModeType: gopdf.ColorBurn}) pdf.SetLineType("dotted") pdf.SetStrokeColor(255, 0, 0) pdf.SetLineWidth(2) pdf.Line(10, 30, 585, 30) pdf.ClearTransparency()
func (*GoPdf) MarginBottom ¶
MarginBottom returns the bottom margin.
func (*GoPdf) MarginLeft ¶
MarginLeft returns the left margin.
func (*GoPdf) MarginRight ¶
MarginRight returns the right margin.
func (*GoPdf) Margins ¶
Margins gets the current margins, The margins will be converted back to the documents units. Returned values will be in the following order Left, Top, Right, Bottom
func (*GoPdf) MeasureCellHeightByText ¶
MeasureCellHeightByText : measure Height of cell by text (use current font)
func (*GoPdf) MeasureTextWidth ¶
MeasureTextWidth : measure Width of text (use current font)
func (*GoPdf) MultiCell ¶
MultiCell : create of text with line breaks ( use current x,y is upper-left corner of cell)
func (*GoPdf) MultiCellWithOption ¶
func (gp *GoPdf) MultiCellWithOption(rectangle *Rect, text string, opt CellOption) error
MultiCellWithOption create of text with line breaks ( use current x,y is upper-left corner of cell)
func (*GoPdf) PlaceHolderText ¶
[experimental] PlaceHolderText Create a text placehold for fillin text later with function FillInPlaceHoldText.
func (*GoPdf) PointsToUnits ¶
PointsToUnits converts the points to the documents unit type
func (*GoPdf) PointsToUnitsVar ¶
PointsToUnitsVar converts the points to the documents unit type for all variables passed in
func (*GoPdf) Polygon ¶
Polygon : draw polygon
- style: Style of polygon (draw and/or fill: D, F, DF, FD) D or empty string: draw. This is the default value. F: fill DF or FD: draw and fill
Usage:
pdf.SetStrokeColor(255, 0, 0) pdf.SetLineWidth(2) pdf.SetFillColor(0, 255, 0) pdf.Polygon([]gopdf.Point{{X: 10, Y: 30}, {X: 585, Y: 200}, {X: 585, Y: 250}}, "DF")
func (*GoPdf) RectFromLowerLeft ¶
RectFromLowerLeft : draw rectangle from lower-left corner (x, y)
func (*GoPdf) RectFromLowerLeftWithOpts ¶
func (gp *GoPdf) RectFromLowerLeftWithOpts(opts DrawableRectOptions) error
func (*GoPdf) RectFromLowerLeftWithStyle ¶
func (gp *GoPdf) RectFromLowerLeftWithStyle(x float64, y float64, wdth float64, hght float64, style string)
RectFromLowerLeftWithStyle : draw rectangle from lower-left corner (x, y)
- style: Style of rectangule (draw and/or fill: D, F, DF, FD) D or empty string: draw. This is the default value. F: fill DF or FD: draw and fill
func (*GoPdf) RectFromUpperLeft ¶
RectFromUpperLeft : draw rectangle from upper-left corner (x, y)
func (*GoPdf) RectFromUpperLeftWithOpts ¶
func (gp *GoPdf) RectFromUpperLeftWithOpts(opts DrawableRectOptions) error
func (*GoPdf) RectFromUpperLeftWithStyle ¶
func (gp *GoPdf) RectFromUpperLeftWithStyle(x float64, y float64, wdth float64, hght float64, style string)
RectFromUpperLeftWithStyle : draw rectangle from upper-left corner (x, y)
- style: Style of rectangule (draw and/or fill: D, F, DF, FD) D or empty string: draw. This is the default value. F: fill DF or FD: draw and fill
func (*GoPdf) Rectangle ¶
func (gp *GoPdf) Rectangle(x0 float64, y0 float64, x1 float64, y1 float64, style string, radius float64, radiusPointNum int) error
Rectangle : draw rectangle, and add radius input to make a round corner, it helps to calculate the round corner coordinates and use Polygon functions to draw rectangle
- style: Style of Rectangle (draw and/or fill: D, F, DF, FD) D or empty string: draw. This is the default value. F: fill DF or FD: draw and fill
Usage:
pdf.SetStrokeColor(255, 0, 0) pdf.SetLineWidth(2) pdf.SetFillColor(0, 255, 0) pdf.Rectangle(196.6, 336.8, 398.3, 379.3, "DF", 3, 10)
func (*GoPdf) Rotate ¶
Rotate rotate text or image angle is angle in degrees. x, y is rotation center
func (*GoPdf) SetCharSpacing ¶
SetCharSpacing : set the character spacing of the currently active font
func (*GoPdf) SetCompressLevel ¶
SetCompressLevel : set compress Level for content streams Possible values for level:
-2 HuffmanOnly, -1 DefaultCompression (which is level 6) 0 No compression, 1 fastest compression, but not very good ratio 9 best compression, but slowest
func (*GoPdf) SetCurPage ¶
func (*GoPdf) SetCustomLineType ¶
SetCustomLineType : set custom line type
Usage: pdf.SetCustomLineType([]float64{0.8, 0.8}, 0) pdf.Line(50, 200, 550, 200)
func (*GoPdf) SetFillColor ¶
SetFillColor set the color for the stroke
func (*GoPdf) SetFillColorCMYK ¶
SetFillColorCMYK set the color for the fill in CMYK color mode
func (*GoPdf) SetFont ¶
SetFont : set font style support "" or "U" for "B" and "I" should be loaded appropriate fonts with same styles defined size MUST be uint*, int* or float64*
func (*GoPdf) SetFontSize ¶
SetFontSize : set the font size (and only the font size) of the currently active font
func (*GoPdf) SetFontWithStyle ¶
SetFontWithStyle : set font style support Regular or Underline for Bold|Italic should be loaded appropriate fonts with same styles defined size MUST be uint*, int* or float64*
func (*GoPdf) SetGrayFill ¶
SetGrayFill set the grayscale for the fill, takes a float64 between 0.0 and 1.0
func (*GoPdf) SetGrayStroke ¶
SetGrayStroke set the grayscale for the stroke, takes a float64 between 0.0 and 1.0
func (*GoPdf) SetLeftMargin ¶
SetLeftMargin sets left margin.
func (*GoPdf) SetLineType ¶
SetLineType : set line type ("dashed" ,"dotted")
Usage: pdf.SetLineType("dashed") pdf.Line(50, 200, 550, 200) pdf.SetLineType("dotted") pdf.Line(50, 400, 550, 400)
func (*GoPdf) SetLineWidth ¶
SetLineWidth : set line width
func (*GoPdf) SetMarginBottom ¶
SetMarginBottom set the bottom margin
func (*GoPdf) SetMarginLeft ¶
SetMarginLeft sets the left margin
func (*GoPdf) SetMarginRight ¶
SetMarginRight sets the right margin
func (*GoPdf) SetMarginTop ¶
SetMarginTop sets the top margin
func (*GoPdf) SetMargins ¶
SetMargins defines the left, top, right and bottom margins. By default, they equal 1 cm. Call this method to change them.
func (*GoPdf) SetNewXY ¶
SetNewXY : set current position x and y, and modified y if add a new page. Example: For example, if the page height is set to 841px, MarginTop is 20px, MarginBottom is 10px, and the height of the element to be inserted is 25px, because 10<25, you need to add another page and set y to 20px. Because of AddPage(), X is set to MarginLeft, so you should specify X if needed, or make sure SetX() is after SetNewY().
func (*GoPdf) SetNewY ¶
SetNewY : set current position y, and modified y if add a new page. Example: For example, if the page height is set to 841px, MarginTop is 20px, MarginBottom is 10px, and the height of the element(such as text) to be inserted is 25px, because 10<25, you need to add another page and set y to 20px. Because of called AddPage(), X is set to MarginLeft, so you should specify X if needed, or make sure SetX() is after SetNewY(), or using SetNewXY(). SetNewYIfNoOffset is more suitable for scenarios where the offset does not change, such as pdf.Image().
func (*GoPdf) SetNewYIfNoOffset ¶
SetNewYIfNoOffset : set current position y, and modified y if add a new page. Example: For example, if the page height is set to 841px, MarginTop is 20px, MarginBottom is 10px, and the height of the element(such as image) to be inserted is 200px, because 10<200, you need to add another page and set y to 20px. Tips: gp.curr.X and gp.curr.Y do not change when pdf.Image() is called.
func (*GoPdf) SetNoCompression ¶
func (gp *GoPdf) SetNoCompression()
SetNoCompression : compressLevel = 0
func (*GoPdf) SetStrokeColor ¶
SetStrokeColor set the color for the stroke
func (*GoPdf) SetStrokeColorCMYK ¶
SetStrokeColorCMYK set the color for the stroke in CMYK color mode
func (*GoPdf) SetTextColor ¶
SetTextColor : function sets the text color
func (*GoPdf) SetTextColorCMYK ¶
func (*GoPdf) SetTopMargin ¶
SetTopMargin sets top margin.
func (*GoPdf) SetTransparency ¶
func (gp *GoPdf) SetTransparency(transparency Transparency) error
SetTransparency sets transparency. alpha: value from 0 (transparent) to 1 (opaque) blendMode: blend mode, one of the following:
Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference, Exclusion, Hue, Saturation, Color, Luminosity
func (*GoPdf) SplitText ¶
SplitText splits text into multiple lines based on width performing potential mid-word breaks.
func (*GoPdf) SplitTextWithOption ¶
func (gp *GoPdf) SplitTextWithOption(text string, width float64, opt *BreakOption) ([]string, error)
SplitTextWithOption splits a text into multiple lines based on the current font size of the document. BreakOptions allow to define the behavior of the split (strict or sensitive). For more information see BreakOption.
func (*GoPdf) SplitTextWithWordWrap ¶
SplitTextWithWordWrap behaves the same way SplitText does but performs a word-wrap considering spaces in case a text line split would split a word.
func (*GoPdf) StartWithImporter ¶
func (*GoPdf) UnitsToPoints ¶
UnitsToPoints converts the units to the documents unit type
func (*GoPdf) UnitsToPointsVar ¶
UnitsToPointsVar converts the units to the documents unit type for all variables passed in
func (*GoPdf) UseImportedTemplate ¶
UseImportedTemplate draws an imported PDF page.
type ICacheColorText ¶
type ICacheColorText interface { ICacheContent // contains filtered or unexported methods }
type ICacheContent ¶
type ICacheContent interface {
// contains filtered or unexported methods
}
func NewCacheContentRectangle ¶
func NewCacheContentRectangle(pageHeight float64, rectOpts DrawableRectOptions) ICacheContent
type IFont ¶
type IFont interface { Init() GetType() string GetName() string GetDesc() []FontDescItem GetUp() int GetUt() int GetCw() FontCw GetEnc() string GetDiff() string GetOriginalsize() int SetFamily(family string) GetFamily() string }
IFont represents a font interface.
type IObj ¶
type IObj interface {
// contains filtered or unexported methods
}
IObj inteface for all pdf object
type ImageCache ¶
ImageCache is metadata for caching images.
type ImageFromOption ¶
type ImageHolder ¶
ImageHolder hold image data
func ImageHolderByBytes ¶
func ImageHolderByBytes(b []byte) (ImageHolder, error)
ImageHolderByBytes create ImageHolder by []byte
func ImageHolderByPath ¶
func ImageHolderByPath(path string) (ImageHolder, error)
ImageHolderByPath create ImageHolder by image path
func ImageHolderByReader ¶
func ImageHolderByReader(r io.Reader) (ImageHolder, error)
ImageHolderByReader create ImageHolder by io.Reader
type ImageObj ¶
type ImageObj struct { //imagepath string IsMask bool SplittedMask bool // contains filtered or unexported fields }
ImageObj image object
func (*ImageObj) SetImagePath ¶
SetImagePath set image path
type ImageOptions ¶
type ImageOptions struct { DegreeAngle float64 VerticalFlip bool HorizontalFlip bool X float64 Y float64 Rect *Rect Mask *MaskOptions Crop *CropOptions Transparency *Transparency // contains filtered or unexported fields }
type MapOfCharacterToGlyphIndex ¶
type MapOfCharacterToGlyphIndex struct { Keys []rune Vals []uint // contains filtered or unexported fields }
MapOfCharacterToGlyphIndex map of CharacterToGlyphIndex
func NewMapOfCharacterToGlyphIndex ¶
func NewMapOfCharacterToGlyphIndex() *MapOfCharacterToGlyphIndex
NewMapOfCharacterToGlyphIndex new CharacterToGlyphIndex
func (*MapOfCharacterToGlyphIndex) AllKeys ¶
func (m *MapOfCharacterToGlyphIndex) AllKeys() []rune
AllKeys get keys
func (*MapOfCharacterToGlyphIndex) AllVals ¶
func (m *MapOfCharacterToGlyphIndex) AllVals() []uint
AllVals get all values
func (*MapOfCharacterToGlyphIndex) Index ¶
func (m *MapOfCharacterToGlyphIndex) Index(k rune) (int, bool)
Index get index by key
func (*MapOfCharacterToGlyphIndex) KeyExists ¶
func (m *MapOfCharacterToGlyphIndex) KeyExists(k rune) bool
KeyExists key is exists?
func (*MapOfCharacterToGlyphIndex) Set ¶
func (m *MapOfCharacterToGlyphIndex) Set(k rune, v uint)
Set set key and value to map
type MaskOptions ¶
type MaskOptions struct { ImageOptions BBox *[4]float64 Holder ImageHolder }
type OutlineNode ¶
type OutlineNode struct { Obj *OutlineObj Children []*OutlineNode }
OutlineNode is a node of outline
type OutlineObj ¶
type OutlineObj struct {
// contains filtered or unexported fields
}
OutlineObj include attribute of outline
func (*OutlineObj) GetIndex ¶
func (o *OutlineObj) GetIndex() int
func (*OutlineObj) SetFirst ¶
func (o *OutlineObj) SetFirst(first int)
func (*OutlineObj) SetLast ¶
func (o *OutlineObj) SetLast(last int)
func (*OutlineObj) SetNext ¶
func (o *OutlineObj) SetNext(next int)
func (*OutlineObj) SetParent ¶
func (o *OutlineObj) SetParent(parent int)
func (*OutlineObj) SetPrev ¶
func (o *OutlineObj) SetPrev(prev int)
type OutlinesObj ¶
type OutlinesObj struct {
// contains filtered or unexported fields
}
OutlinesObj : outlines dictionary
func (*OutlinesObj) AddOutline ¶
func (o *OutlinesObj) AddOutline(dest int, title string)
func (*OutlinesObj) AddOutlinesWithPosition ¶
func (o *OutlinesObj) AddOutlinesWithPosition(dest int, title string, y float64) *OutlineObj
AddOutlinesWithPosition add outlines with position
func (*OutlinesObj) Count ¶
func (o *OutlinesObj) Count() int
func (*OutlinesObj) SetIndexObjOutlines ¶
func (o *OutlinesObj) SetIndexObjOutlines(index int)
type PDFProtection ¶
type PDFProtection struct {
// contains filtered or unexported fields
}
PDFProtection protection in pdf
func (*PDFProtection) EncryptionObj ¶
func (p *PDFProtection) EncryptionObj() *EncryptionObj
EncryptionObj get Encryption Object
func (*PDFProtection) Objectkey ¶
func (p *PDFProtection) Objectkey(objID int) []byte
Objectkey create object key from ObjID
func (*PDFProtection) SetProtection ¶
func (p *PDFProtection) SetProtection(permissions int, userPass []byte, ownerPass []byte) error
SetProtection set protection information
type PDFProtectionConfig ¶
type PDFProtectionConfig struct { UseProtection bool Permissions int UserPass []byte OwnerPass []byte }
PDFProtectionConfig config of pdf protection
type PageObj ¶
type PageObj struct { Contents string ResourcesRelate string Links []linkOption // contains filtered or unexported fields }
PageObj pdf page object
type PaintStyle ¶
type PaintStyle string
const ( DrawPaintStyle PaintStyle = "S" FillPaintStyle PaintStyle = "f" DrawFillPaintStyle PaintStyle = "B" )
type PdfDictionaryObj ¶
type PdfDictionaryObj struct { PtrToSubsetFontObj *SubsetFontObj // contains filtered or unexported fields }
PdfDictionaryObj pdf dictionary object
func (*PdfDictionaryObj) AddCompositeGlyphs ¶
func (p *PdfDictionaryObj) AddCompositeGlyphs(glyphArray *[]int, glyph int)
AddCompositeGlyphs add composite glyph composite glyph is a Unicode entity that can be defined as a sequence of one or more other characters.
func (*PdfDictionaryObj) GetOffset ¶
func (p *PdfDictionaryObj) GetOffset(glyph int) int
GetOffset get offset from glyf table
func (*PdfDictionaryObj) SetPtrToSubsetFontObj ¶
func (p *PdfDictionaryObj) SetPtrToSubsetFontObj(ptr *SubsetFontObj)
SetPtrToSubsetFontObj set subsetFontObj pointer
type PdfInfo ¶
type PdfInfo struct { Title string // The document’s title Author string // The name of the person who created the document Subject string // The subject of the document Creator string // If the document was converted to PDF from another format, the name of the application which created the original document Producer string // If the document was converted to PDF from another format, the name of the application that converted the original document to PDF CreationDate time.Time // The date and time the document was created, in human-readable form }
PdfInfo Document Information Dictionary
type PlaceHolderTextOption ¶
type PlaceHolderTextOption struct { //Left 8 , Right 2 ,Center 16 Align int }
type ProcSetObj ¶
type ProcSetObj struct { //Font Relates RelateFonts RelateXobjs RelateXobjects ExtGStates []ExtGS ImportedTemplateIds map[string]int // contains filtered or unexported fields }
ProcSetObj is a PDF procSet object.
type Rect ¶
Rect defines a rectangle.
func (*Rect) PointsToUnits ¶
PointsToUnits converts the rectangles width and height to Units. When this is called it is assumed the values of the rectangle are in Points
func (*Rect) UnitsToPoints ¶
UnitsToPoints converts the rectanlges width and height to Points. When this is called it is assumed the values of the rectangle are in Units
type RelateFont ¶
type RelateFont struct { Family string //etc /F1 CountOfFont int //etc 5 0 R IndexOfObj int Style int // Regular|Bold|Italic }
RelateFont is a metadata index for fonts?
type RelateFonts ¶
type RelateFonts []RelateFont
RelateFonts is a slice of RelateFont.
func (*RelateFonts) IsContainsFamily ¶
func (re *RelateFonts) IsContainsFamily(family string) bool
IsContainsFamily checks if font family exists.
func (*RelateFonts) IsContainsFamilyAndStyle ¶
func (re *RelateFonts) IsContainsFamilyAndStyle(family string, style int) bool
IsContainsFamilyAndStyle checks if font with same name and style already exists .
type RelateXobjects ¶
type RelateXobjects []RelateXobject
RelateXobjects is a slice of RelateXobject.
type SMask ¶
type SMask struct { Index int TransparencyXObjectGroupIndex int S string // contains filtered or unexported fields }
SMask smask
func GetCachedMask ¶
func GetCachedMask(opts SMaskOptions, gp *GoPdf) SMask
type SMaskMap ¶
type SMaskMap struct {
// contains filtered or unexported fields
}
func NewSMaskMap ¶
func NewSMaskMap() SMaskMap
type SMaskOptions ¶
type SMaskOptions struct { TransparencyXObjectGroupIndex int Subtype SMaskSubtypes }
func (SMaskOptions) GetId ¶
func (smask SMaskOptions) GetId() string
type SMaskSubtypes ¶
type SMaskSubtypes string
type SubfontDescriptorObj ¶
type SubfontDescriptorObj struct { PtrToSubsetFontObj *SubsetFontObj // contains filtered or unexported fields }
SubfontDescriptorObj pdf subfont descriptorObj object
func (*SubfontDescriptorObj) SetIndexObjPdfDictionary ¶
func (s *SubfontDescriptorObj) SetIndexObjPdfDictionary(index int)
SetIndexObjPdfDictionary set PdfDictionary pointer
func (*SubfontDescriptorObj) SetPtrToSubsetFontObj ¶
func (s *SubfontDescriptorObj) SetPtrToSubsetFontObj(ptr *SubsetFontObj)
SetPtrToSubsetFontObj set SubsetFont pointer
type SubsetFontObj ¶
type SubsetFontObj struct { Family string CharacterToGlyphIndex *MapOfCharacterToGlyphIndex CountOfFont int // contains filtered or unexported fields }
SubsetFontObj pdf subsetFont object
func (*SubsetFontObj) AddChars ¶
func (s *SubsetFontObj) AddChars(txt string) (string, error)
AddChars add char to map CharacterToGlyphIndex
func (*SubsetFontObj) CharCodeToGlyphIndex ¶
func (s *SubsetFontObj) CharCodeToGlyphIndex(r rune) (uint, error)
CharCodeToGlyphIndex gets glyph index from char code.
func (*SubsetFontObj) CharIndex ¶
func (s *SubsetFontObj) CharIndex(r rune) (uint, error)
CharIndex index of char in glyph table
func (*SubsetFontObj) CharWidth ¶
func (s *SubsetFontObj) CharWidth(r rune) (uint, error)
CharWidth with of char
func (*SubsetFontObj) GetAscender ¶
func (s *SubsetFontObj) GetAscender() int
func (*SubsetFontObj) GetAscenderPx ¶
func (s *SubsetFontObj) GetAscenderPx(fontSize float64) float64
func (*SubsetFontObj) GetDescender ¶
func (s *SubsetFontObj) GetDescender() int
func (*SubsetFontObj) GetDescenderPx ¶
func (s *SubsetFontObj) GetDescenderPx(fontSize float64) float64
func (*SubsetFontObj) GetFamily ¶
func (s *SubsetFontObj) GetFamily() string
GetFamily get font family name
func (*SubsetFontObj) GetTTFParser ¶
func (s *SubsetFontObj) GetTTFParser() *core.TTFParser
GetTTFParser gets TTFParser.
func (*SubsetFontObj) GetTtfFontOption ¶
func (s *SubsetFontObj) GetTtfFontOption() TtfOption
GetTtfFontOption get TtfOption must set before SetTTFByPath
func (*SubsetFontObj) GetUnderlinePosition ¶
func (s *SubsetFontObj) GetUnderlinePosition() int
GetUnderlinePosition underline position.
func (*SubsetFontObj) GetUnderlinePositionPx ¶
func (s *SubsetFontObj) GetUnderlinePositionPx(fontSize float64) float64
func (*SubsetFontObj) GetUnderlineThickness ¶
func (s *SubsetFontObj) GetUnderlineThickness() int
GetUnderlineThickness underlineThickness.
func (*SubsetFontObj) GetUnderlineThicknessPx ¶
func (s *SubsetFontObj) GetUnderlineThicknessPx(fontSize float64) float64
func (*SubsetFontObj) GlyphIndexToPdfWidth ¶
func (s *SubsetFontObj) GlyphIndexToPdfWidth(glyphIndex uint) uint
GlyphIndexToPdfWidth gets width from glyphIndex.
func (*SubsetFontObj) KernValueByLeft ¶
func (s *SubsetFontObj) KernValueByLeft(left uint) (bool, *core.KernValue)
KernValueByLeft find kern value from kern table by left
func (*SubsetFontObj) SetFamily ¶
func (s *SubsetFontObj) SetFamily(familyname string)
SetFamily set font family name
func (*SubsetFontObj) SetIndexObjCIDFont ¶
func (s *SubsetFontObj) SetIndexObjCIDFont(index int)
SetIndexObjCIDFont set IndexObjCIDFont
func (*SubsetFontObj) SetIndexObjUnicodeMap ¶
func (s *SubsetFontObj) SetIndexObjUnicodeMap(index int)
SetIndexObjUnicodeMap set IndexObjUnicodeMap
func (*SubsetFontObj) SetTTFByPath ¶
func (s *SubsetFontObj) SetTTFByPath(ttfpath string) error
SetTTFByPath set ttf
func (*SubsetFontObj) SetTTFByReader ¶
func (s *SubsetFontObj) SetTTFByReader(rd io.Reader) error
SetTTFByReader set ttf
func (*SubsetFontObj) SetTTFData ¶
func (s *SubsetFontObj) SetTTFData(data []byte) error
SetTTFData set ttf
func (*SubsetFontObj) SetTtfFontOption ¶
func (s *SubsetFontObj) SetTtfFontOption(option TtfOption)
SetTtfFontOption set TtfOption must set before SetTTFByPath
type Transparency ¶
type Transparency struct { Alpha float64 BlendModeType BlendModeType // contains filtered or unexported fields }
Transparency defines an object alpha.
func NewTransparency ¶
func NewTransparency(alpha float64, blendModeType string) (Transparency, error)
func (Transparency) GetId ¶
func (t Transparency) GetId() string
type TransparencyMap ¶
type TransparencyMap struct {
// contains filtered or unexported fields
}
func NewTransparencyMap ¶
func NewTransparencyMap() TransparencyMap
func (*TransparencyMap) Find ¶
func (tm *TransparencyMap) Find(transparency Transparency) (Transparency, bool)
func (*TransparencyMap) Save ¶
func (tm *TransparencyMap) Save(transparency Transparency) Transparency
type TransparencyXObjectGroup ¶
type TransparencyXObjectGroup struct { Index int BBox [4]float64 Matrix [6]float64 ExtGStateIndexes []int XObjects []cacheContentImage // contains filtered or unexported fields }
func GetCachedTransparencyXObjectGroup ¶
func GetCachedTransparencyXObjectGroup(opts TransparencyXObjectGroupOptions, gp *GoPdf) (TransparencyXObjectGroup, error)
type TransparencyXObjectGroupOptions ¶
type TransparencyXObjectGroupOptions struct { Protection *PDFProtection ExtGStateIndexes []int BBox [4]float64 XObjects []cacheContentImage }
type TtfOption ¶
type TtfOption struct { UseKerning bool Style int //Regular|Bold|Italic OnGlyphNotFound func(r rune) //Called when a glyph cannot be found, just for debugging OnGlyphNotFoundSubstitute func(r rune) rune //Called when a glyph cannot be found, we can return a new rune to replace it. }
TtfOption font option
type UnicodeMap ¶
type UnicodeMap struct { PtrToSubsetFontObj *SubsetFontObj // contains filtered or unexported fields }
UnicodeMap unicode map
func (*UnicodeMap) SetPtrToSubsetFontObj ¶
func (u *UnicodeMap) SetPtrToSubsetFontObj(ptr *SubsetFontObj)
SetPtrToSubsetFontObj set pointer to SubsetFontObj
Source Files ¶
- box.go
- break_option.go
- buff.go
- buff_write.go
- buffer_pool.go
- cache_contact_color_rgb.go
- cache_content_color_cmyk.go
- cache_content_custom_line_type.go
- cache_content_gray.go
- cache_content_image.go
- cache_content_imported_object.go
- cache_content_line.go
- cache_content_line_type.go
- cache_content_line_width.go
- cache_content_oval.go
- cache_content_polygon.go
- cache_content_rectangle.go
- cache_content_rotate.go
- cache_content_text.go
- cache_content_text_color_cmyk.go
- cache_content_text_color_rgb.go
- cache_contnent_curve.go
- catalog_obj.go
- cell_option.go
- cid_font_obj.go
- config.go
- content_obj.go
- current.go
- device_rgb_obj.go
- embedfont_obj.go
- encoding_obj.go
- encryption_obj.go
- ext_g_state_obj.go
- font_obj.go
- font_option.go
- fontconverthelper.go
- fontdescriptor_obj.go
- func_kern_override.go
- gopdf.go
- i_cache_color_text.go
- i_cache_contneter.go
- ifont.go
- image_holder.go
- image_obj.go
- image_obj_parse.go
- img_info.go
- imported_obj.go
- iobj.go
- link_option.go
- list_cache_content.go
- map_of_character_To_glyph_index.go
- margin.go
- outlines_obj.go
- page_obj.go
- page_option.go
- page_sizes.go
- pages_obj.go
- pdf_dictionary_obj.go
- pdf_info_obj.go
- pdf_protection.go
- placeholder.go
- point.go
- procset_obj.go
- rect.go
- smask_obj.go
- strhelper.go
- style.go
- subfont_descriptor_obj.go
- subset_font_obj.go
- transparency.go
- transparency_xobject_group.go
- ttf_option.go
- unicode_map.go