Skip to main content

Preview and signatures

Preview on Mac OS (at least the newer ones) has limited editing options that I find very useful (It's a waste to pay the premium on Adobe Acrobat Pro for the simple editing I need). One major task is to insert signatures on documents that are being passed around electronically (so much better than using mail and hardcopies). Preview has a neat trick where you can create signatures without needing a scanner. You simply sign on a piece of paper and hold it up to the camera and some sophisticated software extracts the signature for you. But like all things Mac, they got too clever. There is no option to load a signature from an existing file. This does not represent any kind of extra security. If you don't have pen and paper handy, or you need to insert some one else's signature (as I did) you would have to find a printer, print out the signature and hold it up to the camera. So I had one of those rare 'smart' moments. I took the signature file, opened it up on my second monitor and then turned the laptop I was using to face the second monitor. This fooled Preview and it captured the signature. I got strange looks from my co-workers but whatever. Here also I ran into another 'too clever' issue with Macs. Preview adds drop shadows to pdfs and images at the page borders. When I used preview to open the signature image the signature capture software detected the drop shadows and page margins and added black borders round the signature. I could not find a convenient way to get rid of the drop shadow and ended up opening the file in a web browser.

Comments

Popular posts from this blog

Python: Multiprocessing: passing multiple arguments to a function

Write a wrapper function to unpack the arguments before calling the real function. Lambda won't work, for some strange un-Pythonic reason.


import multiprocessing as mp def myfun(a,b): print a + b def mf_wrap(args): return myfun(*args) p = mp.Pool(4) fl = [(a,b) for a in range(3) for b in range(2)] #mf_wrap = lambda args: myfun(*args) -> this sucker, though more pythonic and compact, won't work p.map(mf_wrap, fl)

Flowing text in inkscape (Poster making)

You can flow text into arbitrary shapes in inkscape. (From a hint here).

You simply create a text box, type your text into it, create a frame with some drawing tool, select both the text box and the frame (click and shift) and then go to text->flow into frame.

UPDATE:

The omnipresent anonymous asked:
Trying to enter sentence so that text forms the number three...any ideas?
The solution:
Type '3' using the text toolConvert to path using object->pathSize as necessaryRemove fillUngroupType in actual text in new text boxSelect the text and the '3' pathFlow the text

Drawing circles using matplotlib

Use the pylab.Circle command

import pylab #Imports matplotlib and a host of other useful modules cir1 = pylab.Circle((0,0), radius=0.75, fc='y') #Creates a patch that looks like a circle (fc= face color) cir2 = pylab.Circle((.5,.5), radius=0.25, alpha =.2, fc='b') #Repeat (alpha=.2 means make it very translucent) ax = pylab.axes(aspect=1) #Creates empty axes (aspect=1 means scale things so that circles look like circles) ax.add_patch(cir1) #Grab the current axes, add the patch to it ax.add_patch(cir2) #Repeat pylab.show()