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, viewcnvs = document.windows[0].selection.canvasexportName = 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, viewreturn true};return action;})();