×

OmniGraffle: Canvas to Clipboard to Craft

This Omni Automation plug-in for OmniGraffle “prints” the current canvas to the clipboard in PNG image format, and provides an option to switch to the Craft application for pasting into a document.

NOTE: The current PNG export settings for background transparency are used in the generation of the PNG image.

Canvas to Clipboard to Craft
Export the current canvas to the clipboard in PNG image format, with an option to switch to the Craft application for pasting into a document.

Return to: Omni Automation and Craft

Canvas to Clipboard to Craft
 

/*{ "type": "action", "targets": ["omnigraffle"], "author": "Otto Automator", "identifier": "com.omni-automation.og.canvas-to-clipboard-image", "version": "1.1", "description": "Puts an image of the current canvas on the clipboard using the current PNG export settings.", "label": "Canvas to Clipboard Image", "shortLabel": "Canvas to Clipboard Image", "paletteLabel": "Canvas to Clipboard Image", "image": "arrow.up.doc.on.clipboard" }*/ (() => { var action = new PlugIn.Action(async function(selection, sender){ // action code // selection options: canvas, document, graphics, lines, solids, view cnvs = document.windows[0].selection.canvas exportName = cnvs.name + ".png" fileTypeID = "public.png" wrapper = await document.makeFileWrapper(exportName, fileTypeID) item = new Pasteboard.Item() item.setDataForType(wrapper.contents,TypeIdentifier.png) Pasteboard.general.clear() Pasteboard.general.addItems([item]) alertTitle = "Completed" alertMessage = "An image of the current canvas is on the clipboard." alert = new Alert(alertTitle,alertMessage) alert.addOption("Done") alert.addOption("Craft") buttonIndex = await alert.show() if (buttonIndex === 1){ URL.fromString("craftdocs://").open() } }); action.validate = function(selection, sender){ // validation code // selection options: canvas, document, graphics, lines, solids, view return true }; return action; })();