Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

/MacCocoa/PDFKit/Create Page with custom stamp annotation
Required plugins for this example: MBS MacBase Plugin, MBS MacCocoa Plugin, MBS MacControls Plugin, MBS Main Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCocoa/PDFKit/Create Page with custom stamp annotation
This example is the version from Wed, 23th Oct 2012.
Project "Create Page with custom stamp annotation.rbp"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open() dim doc as new PDFDocumentMBS dim page as new MyPDFPageMBS // set page size dim r as new NSRectMBS(0, 0, 595, 842) // DIN A4 paper page.boundsForBox(page.kPDFDisplayBoxMediaBox) = r dim m as new MyPDFAnnotationStampMBS(200, 300, 80, 100) page.addAnnotation m // add page doc.insertPage(page, 0) // write page dim file as FolderItem = SpecialFolder.Desktop.Child("test.pdf") if doc.write(file) then file.Launch quit else MsgBox "Failed to write file." end if End EventHandler
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Class MyPDFPageMBS Inherits PDFPageMBS
EventHandler Sub drawRect(box as integer, g as NSGraphicsMBS) transformContextForBox(box) g.SetColorRGB 1.0, 0.0, 0.0, 1.0 g.fillRect 100, 100, 100, 100 dim d as new Dictionary d.Value(NSAttributedStringMBS.NSFontAttributeName) = NSFontMBS.fontWithName("Zapfino", 50) g.drawAtPoint("Hello World", new NSPointMBS(100, 600), d) g.drawAtPoint("Hello World", new NSPointMBS(100, 500)) End EventHandler
End Class
Class MyPDFAnnotationStampMBS Inherits PDFAnnotationStampMBS
EventHandler Function drawWithBox(box as integer, g as NSGraphicsMBS) As boolean dim p as PDFPageMBS = me.page if p<>nil then p.transformContextForBox box end if // set clipping path dim path as NSBezierPathMBS = NSBezierPathMBS.bezierPathWithRect(self.bounds) g.setClip(path) // draw a blue rectangle dim b as NSRectMBS = me.bounds g.setFillColor NSColorMBS.blueColor g.fillRect b g.setFillColor NSColorMBS.blackColor g.drawAtPoint "Annotation", NSMakePointMBS(b.x+10, b.y + 20) // return true to disable the default drawing from PDFKit Return true End EventHandler
End Class
End Project

See also:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS MacCocoa Plugin.

MBS Xojo PDF Plugins