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) GetBytesPdf() []byte
- func (gp *GoPdf) GetBytesPdfReturnErr() ([]byte, error)
- 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) ImageFrom(img image.Image, x float64, y float64, rect *Rect) 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) 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) 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) 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) 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 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 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 )
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 )
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 ErrGlyphNotFound = errors.New("glyph not found")
ErrGlyphNotFound font file not contain glyph
var ErrNotSupportShortIndexYet = errors.New("not suport none short index yet")
ErrNotSupportShortIndexYet not suport none short index yet
var PageSize10x14 = &Rect{W: 720, H: 1008, unitOverride: UnitPT}
PageSize10x14 page format
var PageSizeA0 = &Rect{W: 2384, H: 3371, unitOverride: UnitPT}
PageSizeA0 page format
var PageSizeA1 = &Rect{W: 1685, H: 2384, unitOverride: UnitPT}
PageSizeA1 page format
var PageSizeA2 = &Rect{W: 1190, H: 1684, unitOverride: UnitPT}
PageSizeA2 page format
var PageSizeA3 = &Rect{W: 842, H: 1190, unitOverride: UnitPT}
PageSizeA3 page format
var PageSizeA4 = &Rect{W: 595, H: 842, unitOverride: UnitPT}
PageSizeA4 page format
var PageSizeA4Landscape = &Rect{W: 842, H: 595, unitOverride: UnitPT}
PageSizeA4Landscape page format
var PageSizeA4Small = &Rect{W: 595, H: 842, unitOverride: UnitPT}
PageSizeA4Small page format
var PageSizeA5 = &Rect{W: 420, H: 595, unitOverride: UnitPT}
PageSizeA5 page format
var PageSizeB4 = &Rect{W: 729, H: 1032, unitOverride: UnitPT}
PageSizeB4 page format
var PageSizeB5 = &Rect{W: 516, H: 729, unitOverride: UnitPT}
PageSizeB5 page format
var PageSizeExecutive = &Rect{W: 540, H: 720, unitOverride: UnitPT}
PageSizeExecutive page format
var PageSizeFolio = &Rect{W: 612, H: 936, unitOverride: UnitPT}
PageSizeFolio page format
var PageSizeLedger = &Rect{W: 1224, H: 792, unitOverride: UnitPT}
PageSizeLedger page format
var PageSizeLegal = &Rect{W: 612, H: 1008, unitOverride: UnitPT}
PageSizeLegal page format
var PageSizeLetter = &Rect{W: 612, H: 792, unitOverride: UnitPT}
PageSizeLetter page format
var PageSizeLetterSmall = &Rect{W: 612, H: 792, unitOverride: UnitPT}
PageSizeLetterSmall page format
var PageSizeQuarto = &Rect{W: 610, H: 780, unitOverride: UnitPT}
PageSizeQuarto page format
var PageSizeStatement = &Rect{W: 396, H: 612, unitOverride: UnitPT}
PageSizeStatement page format
var PageSizeTabloid = &Rect{W: 792, H: 1224, unitOverride: UnitPT}
PageSizeTabloid page format
Functions ¶
func ContentObjCalTextHeight ¶ added in v0.18.1
ContentObjCalTextHeight : calculates height of text.
func ContentObjCalTextHeightPrecise ¶ added in v0.18.1
ContentObjCalTextHeightPrecise : like ContentObjCalTextHeight, but fontsize float64
func CreateEmbeddedFontSubsetName ¶
CreateEmbeddedFontSubsetName create Embedded font (subset font) name
func DefaultOnGlyphNotFoundSubstitute ¶ added in v0.18.1
func DesignUnitsToPdf ¶
DesignUnitsToPdf convert unit
func FontConvertHelperCw2Str ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.9.0
PointsToUnits converts points to the provided units
func PointsToUnitsVar ¶ added in v0.9.0
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 ¶ added in v0.18.1
StrHelperGetStringWidthPrecise get string width with real number fontSize
func UnitsToPoints ¶ added in v0.9.0
UnitsToPoints converts units of the provided type to points
func UnitsToPointsVar ¶ added in v0.9.0
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
type Box struct {
Left, Top, Right, Bottom float64
// contains filtered or unexported fields
}
func (*Box) UnitsToPoints ¶ added in v0.18.1
UnitsToPoints converts the box coordinates to Points. When this is called it is assumed the values of the box are in Units
type BreakMode ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 // contains filtered or unexported fields }
CellOption cell option
type ColorSpaces ¶ added in v0.18.1
type ColorSpaces string
type Config ¶
type Config struct { Unit int // The unit type to use when composing the document. 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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
func (c *ContentObj) AppendStreamSetColorStrokeCMYK(cy, m, y, k uint8)
AppendStreamSetColorStrokeCMYK set the color stroke in CMYK color mode
func (*ContentObj) AppendStreamSetCustomLineType ¶ added in v0.18.1
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 ¶ added in v0.18.1
func (c *ContentObj) GetCacheContentImage(index int, opts ImageOptions) *cacheContentImage
type CropOptions ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
func GetCachedExtGState(opts ExtGStateOptions, gp *GoPdf) (ExtGState, error)
type ExtGStateOptions ¶ added in v0.18.1
type ExtGStateOptions struct { StrokingCA *float64 NonStrokingCa *float64 BlendMode *BlendModeType SMaskIndex *int }
func (ExtGStateOptions) GetId ¶ added in v0.18.1
func (extOpt ExtGStateOptions) GetId() string
type ExtGStatesMap ¶ added in v0.18.1
type ExtGStatesMap struct {
// contains filtered or unexported fields
}
func NewExtGStatesMap ¶ added in v0.18.1
func NewExtGStatesMap() ExtGStatesMap
func (*ExtGStatesMap) Find ¶ added in v0.18.1
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 {
// 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 ¶ added in v0.18.1
func (gp *GoPdf) AddFooter(f func())
AddFooter - add a footer function, if present this will be automatically called by AddPage()
func (*GoPdf) AddHeader ¶ added in v0.18.1
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 ¶ added in v0.18.1
func (*GoPdf) AddOutlineWithPosition ¶ added in v0.18.1
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 ¶ added in v0.18.1
AddTTFFontByReader adds font data by reader.
func (*GoPdf) AddTTFFontDataWithOption ¶ added in v0.18.1
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 ¶ added in v0.18.1
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) GetBytesPdf ¶
GetBytesPdf : get bytes of pdf file
func (*GoPdf) GetBytesPdfReturnErr ¶
GetBytesPdfReturnErr : get bytes of pdf file
func (*GoPdf) GetNextObjectID ¶ added in v0.18.1
GetNextObjectID gets the next object ID so that gofpdi knows where to start the object IDs.
func (*GoPdf) GetNumberOfPages ¶ added in v0.18.1
GetNumberOfPages gets the number of pages from the PDF.
func (*GoPdf) ImageByHolder ¶
ImageByHolder : draw image by ImageHolder
func (*GoPdf) ImageByHolderWithOptions ¶ added in v0.18.1
func (gp *GoPdf) ImageByHolderWithOptions(img ImageHolder, opts ImageOptions) error
func (*GoPdf) ImportObjects ¶ added in v0.18.1
ImportObjects imports objects from gofpdi into current document.
func (*GoPdf) ImportPage ¶ added in v0.18.1
ImportPage imports a page and return template id. gofpdi code
func (*GoPdf) ImportPageStream ¶ added in v0.18.1
ImportPageStream imports page using a stream. Return template id after importing. gofpdi code
func (*GoPdf) ImportTemplates ¶ added in v0.18.1
ImportTemplates names into procset dictionary.
func (*GoPdf) IsCurrFontContainGlyph ¶ added in v0.18.1
IsCurrFontContainGlyph defines is current font contains to a glyph r: any rune
func (*GoPdf) IsFitMultiCell ¶ added in v0.18.1
IsFitMultiCell : check whether the rectangle's area is big enough for the text
func (*GoPdf) IsFitMultiCellWithNewline ¶ added in v0.18.1
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 ¶ added in v0.9.0
MarginBottom returns the bottom margin.
func (*GoPdf) MarginLeft ¶ added in v0.9.0
MarginLeft returns the left margin.
func (*GoPdf) MarginRight ¶ added in v0.9.0
MarginRight returns the right margin.
func (*GoPdf) Margins ¶ added in v0.9.0
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) MeasureTextWidth ¶
MeasureTextWidth : measure Width of text (use current font)
func (*GoPdf) MultiCell ¶ added in v0.9.0
MultiCell : create of text with line breaks ( use current x,y is upper-left corner of cell)
func (*GoPdf) MultiCellWithOption ¶ added in v0.18.1
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) PointsToUnits ¶ added in v0.9.0
PointsToUnits converts the points to the documents unit type
func (*GoPdf) PointsToUnitsVar ¶ added in v0.9.0
PointsToUnitsVar converts the points to the documents unit type for all variables passed in
func (*GoPdf) Polygon ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.8.3
Rotate rotate text or image angle is angle in degrees. x, y is rotation center
func (*GoPdf) SetCharSpacing ¶ added in v0.18.1
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) SetCustomLineType ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 apropriate fonts with same styles defined size MUST be uint*, int* or float64*
func (*GoPdf) SetFontSize ¶ added in v0.18.1
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 apropriate 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 ¶ added in v0.9.0
SetMarginBottom set the bottom margin
func (*GoPdf) SetMarginLeft ¶ added in v0.9.0
SetMarginLeft sets the left margin
func (*GoPdf) SetMarginRight ¶ added in v0.9.0
SetMarginRight sets the right margin
func (*GoPdf) SetMarginTop ¶ added in v0.9.0
SetMarginTop sets the top margin
func (*GoPdf) SetMargins ¶ added in v0.9.0
SetMargins defines the left, top, right and bottom margins. By default, they equal 1 cm. Call this method to change them.
func (*GoPdf) SetNewXY ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
SetStrokeColorCMYK set the color for the stroke in CMYK color mode
func (*GoPdf) SetTextColor ¶
SetTextColor : function sets the text color
func (*GoPdf) SetTextColorCMYK ¶ added in v0.18.1
func (*GoPdf) SetTopMargin ¶
SetTopMargin sets top margin.
func (*GoPdf) SetTransparency ¶ added in v0.18.1
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 ¶ added in v0.18.1
SplitText splits text into multiple lines based on width performing potential mid-word breaks.
func (*GoPdf) SplitTextWithOption ¶ added in v0.18.1
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 ¶ added in v0.18.1
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) UnitsToPoints ¶ added in v0.9.0
UnitsToPoints converts the units to the documents unit type
func (*GoPdf) UnitsToPointsVar ¶ added in v0.9.0
UnitsToPointsVar converts the units to the documents unit type for all variables passed in
func (*GoPdf) UseImportedTemplate ¶ added in v0.18.1
UseImportedTemplate draws an imported PDF page.
type ICacheColorText ¶ added in v0.18.1
type ICacheColorText interface { ICacheContent // contains filtered or unexported methods }
type ICacheContent ¶ added in v0.18.1
type ICacheContent interface {
// contains filtered or unexported methods
}
func NewCacheContentRectangle ¶ added in v0.18.1
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 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 ¶ added in v0.18.1
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 ImportedObj ¶ added in v0.18.1
type ImportedObj struct {
Data string
}
ImportedObj : imported object
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 Margins ¶ added in v0.9.0
type Margins struct {
Left, Top, Right, Bottom float64
}
Margins type.
type MaskOptions ¶ added in v0.18.1
type MaskOptions struct { ImageOptions BBox *[4]float64 Holder ImageHolder }
type OutlineNode ¶ added in v0.18.1
type OutlineNode struct { Obj *OutlineObj Children []*OutlineNode }
OutlineNode is a node of outline
type OutlineNodes ¶ added in v0.18.1
type OutlineNodes []*OutlineNode
OutlineNodes are all nodes of outline
func (OutlineNodes) Parse ¶ added in v0.18.1
func (objs OutlineNodes) Parse()
Parse parse outline nodes
type OutlineObj ¶ added in v0.18.1
type OutlineObj struct {
// contains filtered or unexported fields
}
OutlineObj include attribute of outline
func (*OutlineObj) GetIndex ¶ added in v0.18.1
func (o *OutlineObj) GetIndex() int
func (*OutlineObj) SetFirst ¶ added in v0.18.1
func (o *OutlineObj) SetFirst(first int)
func (*OutlineObj) SetLast ¶ added in v0.18.1
func (o *OutlineObj) SetLast(last int)
func (*OutlineObj) SetNext ¶ added in v0.18.1
func (o *OutlineObj) SetNext(next int)
func (*OutlineObj) SetParent ¶ added in v0.18.1
func (o *OutlineObj) SetParent(parent int)
func (*OutlineObj) SetPrev ¶ added in v0.18.1
func (o *OutlineObj) SetPrev(prev int)
type OutlinesObj ¶ added in v0.18.1
type OutlinesObj struct {
// contains filtered or unexported fields
}
OutlinesObj : outlines dictionary
func (*OutlinesObj) AddOutline ¶ added in v0.18.1
func (o *OutlinesObj) AddOutline(dest int, title string)
func (*OutlinesObj) AddOutlinesWithPosition ¶ added in v0.18.1
func (o *OutlinesObj) AddOutlinesWithPosition(dest int, title string, y float64) *OutlineObj
AddOutlinesWithPosition add outlines with position
func (*OutlinesObj) Count ¶ added in v0.18.1
func (o *OutlinesObj) Count() int
func (*OutlinesObj) SetIndexObjOutlines ¶ added in v0.18.1
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 infomation
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 ¶ added in v0.18.1
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 original document from which it was converted. Producer string //If the document was converted to PDF from another format, the name of the application (for example, Acrobat Distiller) that converted it to PDF. CreationDate time.Time //The date and time the document was created, in human-readable form }
PdfInfo Document Information Dictionary
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 ¶ added in v0.9.0
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 ¶ added in v0.9.0
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 RelateXobject ¶ added in v0.18.1
type RelateXobject struct {
IndexOfObj int
}
RelateXobject is an index for ???
type RelateXobjects ¶ added in v0.18.1
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 ¶ added in v0.18.1
func GetCachedMask(opts SMaskOptions, gp *GoPdf) SMask
type SMaskMap ¶ added in v0.18.1
type SMaskMap struct {
// contains filtered or unexported fields
}
func NewSMaskMap ¶ added in v0.18.1
func NewSMaskMap() SMaskMap
type SMaskOptions ¶ added in v0.18.1
type SMaskOptions struct { TransparencyXObjectGroupIndex int Subtype SMaskSubtypes }
func (SMaskOptions) GetId ¶ added in v0.18.1
func (smask SMaskOptions) GetId() string
type SMaskSubtypes ¶ added in v0.18.1
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 ¶ added in v0.18.1
func (s *SubsetFontObj) GetAscender() int
func (*SubsetFontObj) GetAscenderPx ¶ added in v0.18.1
func (s *SubsetFontObj) GetAscenderPx(fontSize float64) float64
func (*SubsetFontObj) GetDescender ¶ added in v0.18.1
func (s *SubsetFontObj) GetDescender() int
func (*SubsetFontObj) GetDescenderPx ¶ added in v0.18.1
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 ¶ added in v0.18.1
func (s *SubsetFontObj) GetUnderlinePosition() int
GetUnderlinePosition underline postion.
func (*SubsetFontObj) GetUnderlinePositionPx ¶ added in v0.18.1
func (s *SubsetFontObj) GetUnderlinePositionPx(fontSize float64) float64
func (*SubsetFontObj) GetUnderlineThickness ¶ added in v0.18.1
func (s *SubsetFontObj) GetUnderlineThickness() int
GetUnderlineThickness underlineThickness.
func (*SubsetFontObj) GetUnderlineThicknessPx ¶ added in v0.18.1
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 ¶ added in v0.18.1
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 ¶ added in v0.18.1
type Transparency struct { Alpha float64 BlendModeType BlendModeType // contains filtered or unexported fields }
Transparency defines an object alpha.
func NewTransparency ¶ added in v0.18.1
func NewTransparency(alpha float64, blendModeType string) (Transparency, error)
func (Transparency) GetId ¶ added in v0.18.1
func (t Transparency) GetId() string
type TransparencyMap ¶ added in v0.18.1
type TransparencyMap struct {
// contains filtered or unexported fields
}
func NewTransparencyMap ¶ added in v0.18.1
func NewTransparencyMap() TransparencyMap
func (*TransparencyMap) Find ¶ added in v0.18.1
func (tm *TransparencyMap) Find(transparency Transparency) (Transparency, bool)
func (*TransparencyMap) Save ¶ added in v0.18.1
func (tm *TransparencyMap) Save(transparency Transparency) Transparency
type TransparencyXObjectGroup ¶ added in v0.18.1
type TransparencyXObjectGroup struct { Index int BBox [4]float64 Matrix [6]float64 ExtGStateIndexes []int XObjects []cacheContentImage // contains filtered or unexported fields }
func GetCachedTransparencyXObjectGroup ¶ added in v0.18.1
func GetCachedTransparencyXObjectGroup(opts TransparencyXObjectGroupOptions, gp *GoPdf) (TransparencyXObjectGroup, error)
type TransparencyXObjectGroupOptions ¶ added in v0.18.1
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. OnGlyphIndexGoingSet func(r rune, glyphIndex uint, prevGlyphIndex uint) uint //Called when a glyph index going to be set. }
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
- 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