Documentation ¶
Index ¶
- Constants
- Variables
- func CheckSum(data []byte) uint
- func Chr(n int) byte
- func ContentObj_CalTextHeight(fontsize int) float64
- func CreateEmbeddedFontSubsetName(name string) string
- func DebugSubType(b []byte)
- func DesignUnitsToPdf(val int, unitsPerEm uint) int
- func FontConvertHelper_Cw2Str(cw FontCw) 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 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 Buff
- type CIDFontObj
- type CacheContent
- type CatalogObj
- type CellOption
- 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, x float64, y float64, rect *Rect)
- func (c *ContentObj) AppendStreamLine(x1 float64, y1 float64, x2 float64, y2 float64)
- func (c *ContentObj) AppendStreamOval(x1 float64, y1 float64, x2 float64, y2 float64)
- func (c *ContentObj) AppendStreamRectangle(x float64, y float64, wdth float64, hght float64, style string)
- func (c *ContentObj) AppendStreamSetColorFill(r uint8, g uint8, b uint8)
- func (c *ContentObj) AppendStreamSetColorStroke(r uint8, g uint8, b uint8)
- 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
- type Current
- type DeviceRGBObj
- type EmbedFontObj
- type EncodingObj
- type EncryptionObj
- 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) AddInternalLink(anchor string, x, y, w, h float64)
- 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) 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) 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) 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) 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) 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) Read(p []byte) (int, error)
- func (gp *GoPdf) RectFromLowerLeft(x float64, y float64, wdth float64, hght float64)
- 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) RectFromUpperLeftWithStyle(x float64, y float64, wdth float64, hght float64, style string)
- func (gp *GoPdf) Rotate(angle, x, y float64)
- func (gp *GoPdf) RotateReset()
- func (gp *GoPdf) SetAnchor(name string)
- func (gp *GoPdf) SetCompressLevel(level int)
- func (gp *GoPdf) SetFillColor(r uint8, g uint8, b uint8)
- func (gp *GoPdf) SetFont(family string, style string, size int) error
- func (gp *GoPdf) SetFontWithStyle(family string, style int, size int) 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) SetNoCompression()
- func (gp *GoPdf) SetStrokeColor(r uint8, g uint8, b uint8)
- func (gp *GoPdf) SetTextColor(r uint8, g uint8, b uint8)
- func (gp *GoPdf) SetTopMargin(margin float64)
- func (gp *GoPdf) SetX(x float64)
- func (gp *GoPdf) SetY(y float64)
- 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) Write(w io.Writer) error
- func (gp *GoPdf) WritePdf(pdfPath string) error
- type IFont
- type IObj
- type ImageCache
- type ImageHolder
- type ImageObj
- 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 PDFProtection
- type PDFProtectionConfig
- type PageObj
- type PageOption
- type PagesObj
- type PdfDictionaryObj
- type PdfInfo
- type ProcSetObj
- type RealteXobject
- type RealteXobjects
- type Rect
- type RelateFont
- type RelateFonts
- type Rgb
- type SMask
- type SubfontDescriptorObj
- type SubsetFontObj
- func (s *SubsetFontObj) AddChars(txt 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) GetFamily() string
- func (s *SubsetFontObj) GetTTFParser() *core.TTFParser
- func (s *SubsetFontObj) GetTtfFontOption() TtfOption
- func (s *SubsetFontObj) GetUp() int
- func (s *SubsetFontObj) GetUt() int
- 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) SetTtfFontOption(option TtfOption)
- type TtfOption
- type UnicodeMap
Constants ¶
const ( Unit_Unset = iota // No units were set, when conversion is called on nothing will happen Unit_PT // Points Unit_MM // Millimeters Unit_CM // centimeters Unit_IN // inches )
The units that can be used in the document
const ( //PermissionsPrint setProtection print PermissionsPrint = 4 //PermissionsModify setProtection modify PermissionsModify = 8 //PermissionsCopy setProtection copy PermissionsCopy = 16 //PermissionsAnnotForms setProtection annot-forms PermissionsAnnotForms = 32 )
const ARG_1_AND_2_ARE_WORDS = 1
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 Italic = 1 //000001
Italic - font style italic
const Left = 8 //001000
Left left
const MORE_COMPONENTS = 32
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
const WE_HAVE_AN_X_AND_Y_SCALE = 64
const WE_HAVE_A_SCALE = 8
const WE_HAVE_A_TWO_BY_TWO = 128
Variables ¶
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 ErrNotSupportShortIndexYet = errors.New("not suport none short index yet")
ErrNotSupportShortIndexYet not suport none short index yet
var PageSize10x14 = &Rect{W: 720, H: 1008, unitOverride: Unit_PT}
var PageSizeA0 = &Rect{W: 2384, H: 3371, unitOverride: Unit_PT}
var PageSizeA1 = &Rect{W: 1685, H: 2384, unitOverride: Unit_PT}
var PageSizeA2 = &Rect{W: 1190, H: 1684, unitOverride: Unit_PT}
var PageSizeA3 = &Rect{W: 842, H: 1190, unitOverride: Unit_PT}
var PageSizeA4 = &Rect{W: 595, H: 842, unitOverride: Unit_PT}
var PageSizeA4Small = &Rect{W: 595, H: 842, unitOverride: Unit_PT}
var PageSizeA5 = &Rect{W: 420, H: 595, unitOverride: Unit_PT}
var PageSizeB4 = &Rect{W: 729, H: 1032, unitOverride: Unit_PT}
var PageSizeB5 = &Rect{W: 516, H: 729, unitOverride: Unit_PT}
var PageSizeExecutive = &Rect{W: 540, H: 720, unitOverride: Unit_PT}
var PageSizeFolio = &Rect{W: 612, H: 936, unitOverride: Unit_PT}
var PageSizeLedger = &Rect{W: 1224, H: 792, unitOverride: Unit_PT}
var PageSizeLegal = &Rect{W: 612, H: 1008, unitOverride: Unit_PT}
var PageSizeLetter = &Rect{W: 612, H: 792, unitOverride: Unit_PT}
var PageSizeLetterSmall = &Rect{W: 612, H: 792, unitOverride: Unit_PT}
var PageSizeQuarto = &Rect{W: 610, H: 780, unitOverride: Unit_PT}
var PageSizeStatement = &Rect{W: 396, H: 612, unitOverride: Unit_PT}
var PageSizeTabloid = &Rect{W: 792, H: 1224, unitOverride: Unit_PT}
Functions ¶
func ContentObj_CalTextHeight ¶
ContentObj_CalTextHeight calculate height of text
func CreateEmbeddedFontSubsetName ¶
CreateEmbeddedFontSubsetName create Embedded font (subset font) name
func DebugSubType ¶
func DebugSubType(b []byte)
func DesignUnitsToPdf ¶
DesignUnitsToPdf convert unit
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 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 CIDFontObj ¶
type CIDFontObj struct { PtrToSubsetFontObj *SubsetFontObj // contains filtered or unexported fields }
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 Rgb, grayFill float64, fontCountIndex int, fontSize int, fontStyle int, setXCount int, x, y float64, fontSubset *SubsetFontObj, pageheight float64, contentType int, cellOpt CellOption, lineWidth float64, )
Setup setup all infomation for cacheContent
func (*CacheContent) WriteTextToContent ¶
func (c *CacheContent) WriteTextToContent(text string)
WriteTextToContent write text to content
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 }
CellOption cell option
type Config ¶
type Config struct { Unit int // The unit type to use when composing 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, x float64, y float64, rect *Rect)
AppendStreamImage append image
func (*ContentObj) AppendStreamLine ¶
func (c *ContentObj) AppendStreamLine(x1 float64, y1 float64, x2 float64, y2 float64)
AppendStreamLine append line
func (*ContentObj) AppendStreamOval ¶
func (c *ContentObj) AppendStreamOval(x1 float64, y1 float64, x2 float64, y2 float64)
AppendStreamOval append oval
func (*ContentObj) AppendStreamRectangle ¶
func (c *ContentObj) AppendStreamRectangle(x float64, y float64, wdth float64, hght float64, style string)
AppendStreamRectangle : draw rectangle from lower-left corner (x, y) with specif width/height
func (*ContentObj) AppendStreamSetColorFill ¶
func (c *ContentObj) AppendStreamSetColorFill(r uint8, g uint8, b uint8)
AppendStreamSetColorFill set the color fill
func (*ContentObj) AppendStreamSetColorStroke ¶
func (c *ContentObj) AppendStreamSetColorStroke(r uint8, g uint8, b uint8)
AppendStreamSetColorStroke set the color stroke
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
type Current ¶
type Current struct { X float64 Y float64 //font IndexOfFontObj int CountOfFont int CountOfL int Font_Size int Font_Style int // Regular|Bold|Italic|Underline Font_FontCount int Font_Type int // CURRENT_FONT_TYPE_IFONT or CURRENT_FONT_TYPE_SUBSET Font_ISubset *SubsetFontObj // Font_Type == CURRENT_FONT_TYPE_SUBSET //page IndexOfPageObj int //img CountOfImg int //cache of image in pdf file ImgCaches []ImageCache // contains filtered or unexported fields }
Current current state
type DeviceRGBObj ¶
type DeviceRGBObj struct {
// contains filtered or unexported fields
}
DeviceRGBObj DeviceRGB
type EmbedFontObj ¶
type EmbedFontObj struct { Data string // contains filtered or unexported fields }
func (*EmbedFontObj) SetFont ¶
func (e *EmbedFontObj) SetFont(font IFont, zfontpath string)
type EncodingObj ¶
type EncodingObj struct {
// contains filtered or unexported fields
}
func (*EncodingObj) GetFont ¶
func (e *EncodingObj) GetFont() IFont
func (*EncodingObj) SetFont ¶
func (e *EncodingObj) SetFont(font IFont)
type EncryptionObj ¶
type EncryptionObj struct {
// contains filtered or unexported fields
}
EncryptionObj encryption object res
type FontDescItem ¶
type FontDescriptorObj ¶
type FontDescriptorObj struct {
// contains filtered or unexported fields
}
func (*FontDescriptorObj) GetFont ¶
func (f *FontDescriptorObj) GetFont() IFont
func (*FontDescriptorObj) SetFont ¶
func (f *FontDescriptorObj) SetFont(font IFont)
func (*FontDescriptorObj) SetFontFileObjRelate ¶
func (f *FontDescriptorObj) SetFontFileObjRelate(relate string)
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 ¶
func (*FontObj) SetIndexObjFontDescriptor ¶
func (*FontObj) SetIndexObjWidth ¶
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
func (*GoPdf) AddInternalLink ¶
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 add font file
func (*GoPdf) AddTTFFontByReaderWithOption ¶
AddTTFFontByReaderWithOption add font file
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) 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) ImageByHolder ¶
ImageByHolder : draw image by ImageHolder
func (*GoPdf) KernOverride ¶
func (gp *GoPdf) KernOverride(family string, fn FuncKernOverride) error
KernOverride override kern value
func (*GoPdf) MarginBottom ¶
MarginBottom returns the bottom 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) 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) 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) RectFromLowerLeft ¶
RectFromLowerLeft : draw rectangle from lower-left corner (x, y)
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) 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) Rotate ¶
Rotate rotate text or image angle is angle in degrees. x, y is rotation center
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) SetFillColor ¶
SetFillColor set the color for the stroke
func (*GoPdf) SetFont ¶
SetFont : set font style support "" or "U" for "B" and "I" should be loaded apropriate fonts with same styles defined
func (*GoPdf) SetFontWithStyle ¶
SetFontWithStyle : set font style support Regular or Underline for Bold|Italic should be loaded apropriate fonts with same styles defined
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 : set 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) SetNoCompression ¶
func (gp *GoPdf) SetNoCompression()
SetNoCompression : compressLevel = 0
func (*GoPdf) SetStrokeColor ¶
SetStrokeColor set the color for the stroke
func (*GoPdf) SetTextColor ¶
SetTextColor : function sets the text color
func (*GoPdf) SetTopMargin ¶
SetTopMargin : set top margin
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
type IObj ¶
type IObj interface {
// contains filtered or unexported methods
}
IObj inteface for all pdf object
type ImageCache ¶
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 {
// contains filtered or unexported fields
}
ImageObj image object
func (*ImageObj) SetImagePath ¶
SetImagePath set image path
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 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 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 Realtes RelateFonts RealteXobjs RealteXobjects // contains filtered or unexported fields }
ProcSetObj pdf procSet object
type RealteXobject ¶
type RealteXobject struct {
IndexOfObj int
}
type RealteXobjects ¶
type RealteXobjects []RealteXobject
type Rect ¶
func (*Rect) PointsToUnits ¶
PointsToUnits converts the rectanlges 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 RelateFonts ¶
type RelateFonts []RelateFont
func (*RelateFonts) IsContainsFamily ¶
func (re *RelateFonts) IsContainsFamily(family string) bool
func (*RelateFonts) IsContainsFamilyAndStyle ¶
func (re *RelateFonts) IsContainsFamilyAndStyle(family string, style int) bool
IsContainsFamilyAndStyle - checks if already exists font with same name and style
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) error
AddChars add char to map CharacterToGlyphIndex
func (*SubsetFontObj) CharCodeToGlyphIndex ¶
func (s *SubsetFontObj) CharCodeToGlyphIndex(r rune) (uint, error)
CharCodeToGlyphIndex get 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) GetFamily ¶
func (s *SubsetFontObj) GetFamily() string
GetFamily get font family name
func (*SubsetFontObj) GetTTFParser ¶
func (s *SubsetFontObj) GetTTFParser() *core.TTFParser
GetTTFParser get TTFParser
func (*SubsetFontObj) GetTtfFontOption ¶
func (s *SubsetFontObj) GetTtfFontOption() TtfOption
GetTtfFontOption get TtfOption must set before SetTTFByPath
func (*SubsetFontObj) GlyphIndexToPdfWidth ¶
func (s *SubsetFontObj) GlyphIndexToPdfWidth(glyphIndex uint) uint
GlyphIndexToPdfWidth get with 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) SetTtfFontOption ¶
func (s *SubsetFontObj) SetTtfFontOption(option TtfOption)
SetTtfFontOption set TtfOption must set before SetTTFByPath
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 ¶
- buff.go
- buff_write.go
- buffer_pool.go
- cache_contact_color.go
- cache_content_gray.go
- cache_content_image.go
- cache_content_line.go
- cache_content_line_type.go
- cache_content_line_width.go
- cache_content_oval.go
- cache_content_rectangle.go
- cache_content_rotate.go
- cache_content_text.go
- cache_contnent_curve.go
- catalog_obj.go
- cell_option.go
- cid_font_obj.go
- config.go
- content_obj.go
- current.go
- debug.go
- debug_ch.go
- debug_th.go
- device_rgb_obj.go
- embedfont_obj.go
- encoding_obj.go
- encryption_obj.go
- font_obj.go
- font_option.go
- fontconverthelper.go
- fontdescriptor_obj.go
- func_kern_override.go
- gopdf.go
- i_cache_contneter.go
- ifont.go
- image_holder.go
- image_obj.go
- image_obj_parse.go
- img_info.go
- iobj.go
- link_option.go
- list_cache_content.go
- map_of_character_To_glyph_index.go
- margin.go
- page_obj.go
- page_option.go
- page_sizes.go
- pages_obj.go
- pdf_dictionary_obj.go
- pdf_info_obj.go
- pdf_protection.go
- procset_obj.go
- rect.go
- smask_obj.go
- strhelper.go
- style.go
- subfont_descriptor_obj.go
- subset_font_obj.go
- ttf_option.go
- unicode_map.go