In[]:=
Panel[​​is2D=1;​​file=Null;​​mol=Null;​​image=Null;​​ocrImage=Null;​​noImage="No Image";​​TableForm[​​{​​{​​Panel[Dynamic[​​If[file===Null||FailureQ[image=Import[file]],​​noImage,image]​​],ImageSize->{300,300},Alignment->Center],​​Button["Convert",​​If[image===Null,​​noImage,mol=MoleculeRecognize[image]​​],ImageSize->{45,25}],​​Panel[Dynamic[If[mol===Null,​​noImage,If[is2D==1,​​ocrImage=MoleculePlot[mol],ocrImage=MoleculePlot3D[mol]​​]]],ImageSize->{300,300},Alignment->Center]​​},​​{{Button["Browse",file=SystemDialogInput["FileOpen"],Method"Queued",ImageSize->{45,25}]},{},{​​{​​Button["Edit",​​If[mol=!=Null,​​If[result=MoleculeDraw[mol];result=!=$Canceled,​​mol=result​​]​​]​​,Method"Queued",ImageSize->{45,25}],​​RadioButtonBar[Dynamic[is2D],{1->"2D",2->"3D"}],​​Button["Save",​​If[mol=!=Null,​​Export[SystemDialogInput["FileSave",".mol"],mol,"mol"]​​]​​,Method"Queued",ImageSize->{45,25}],​​Button["Export",​​If[ocrImage=!=Null,​​Export[SystemDialogInput["FileSave",".png"],ocrImage,"png"]​​]​​,Method"Queued",ImageSize->{45,25}]​​}}​​}​​}​​]​​,ImageSize->{700,350}]
Out[]=
noImage
Convert
If[is2D1,ocrImage=MoleculePlot[mol],ocrImage=
MoleculePlot3D[mol]]
Browse
Edit
2D
3D
Save
Export