diff --git a/pdf/annotator/circle.go b/pdf/annotator/circle.go index 3b893d80..53863311 100644 --- a/pdf/annotator/circle.go +++ b/pdf/annotator/circle.go @@ -102,7 +102,13 @@ func drawPdfCircle(circDef CircleAnnotationDef, gsName string) ([]byte, *pdf.Pdf drawBezierPathWithCreator(bpath, creator) - creator.Add_B() // fill and stroke. + if circDef.FillEnabled && circDef.BorderEnabled { + creator.Add_B() // fill and stroke. + } else if circDef.FillEnabled { + creator.Add_f() // Fill. + } else if circDef.BorderEnabled { + creator.Add_S() // Stroke. + } creator.Add_Q() // Offsets (needed for placement of annotations bbox). diff --git a/pdf/annotator/rectangle.go b/pdf/annotator/rectangle.go index e23e4224..e7aee4f2 100644 --- a/pdf/annotator/rectangle.go +++ b/pdf/annotator/rectangle.go @@ -76,7 +76,14 @@ func drawPdfRectangle(rectDef RectangleAnnotationDef, gsName string) ([]byte, *p creator.Add_gs(pdfcore.PdfObjectName(gsName)) } drawPathWithCreator(path, creator) - creator.Add_B() // fill and stroke. + + if rectDef.FillEnabled && rectDef.BorderEnabled { + creator.Add_B() // fill and stroke. + } else if rectDef.FillEnabled { + creator.Add_f() // Fill. + } else if rectDef.BorderEnabled { + creator.Add_S() // Stroke. + } creator.Add_Q() // Offsets (needed for placement of annotations bbox).