Fazendo trabalho cordova / phonegap + jsPDF

Passe algum tempo integrando essas coisas, ou seja, para gerar pdf em javascript e salvá-lo no sistema de arquivos.

Na verdade, não há nada difícil, mas vou descrever como você pode fazer isso funcionar. Espero que isso economize o tempo de alguém.

Em primeiro lugar, você precisa adicionar ao plugin Cordova FileSystem. Isso pode ser feito facilmente com a linha de comando:

cordova plugin add org.apache.cordova.file

Além disso, você precisa corrigir o jsPDF (estou falando sobre a versão 0.9.0), porque ele não funciona no Android com a criação de blob padrão.
Você precisa substituir a linha comentada pelo seguinte código (graças à resposta do stackoverflow http://stackoverflow.com/questions/18596005/generate-client-side-pdf-with-jspdf-on-phonegap-based-apps):

//                    blob = new Blob([array], {type: "application/pdf"});

try
{
blob
= new Blob([array], {type: "application/pdf"});
console
.debug("case 1");
}
catch (e)
{
window
.BlobBuilder = window.BlobBuilder ||
window
.WebKitBlobBuilder ||
window
.MozBlobBuilder ||
window
.MSBlobBuilder;
if (e.name == 'TypeError' && window.BlobBuilder)
{
var bb = new BlobBuilder();
bb
.append(data);
blob
= bb.getBlob("application/pdf");
console
.debug("case 2");
}
else if (e.name == "InvalidStateError")
{
// InvalidStateError (tested on FF13 WinXP)
blob
= new Blob([array], {type: "application/pdf"});
console
.debug("case 3");
}
else
{
// We're screwed, blob constructor unsupported entirely
console
.debug("Errore");
}
}

E a última etapa será realmente gerar e salvar o arquivo criado!

// Somewhere in your code
window
.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function gotFS(fileSystem) {
fileSystem
.root.getFile("test.pdf", {create: true, exclusive: false}, gotFileEntry, fail);
}

function gotFileEntry(fileEntry) {
fileEntry
.createWriter(gotFileWriter, fail);
}

function gotFileWriter(writer) {
var doc = new jsPDF();
doc
.setFontSize(14);

doc
.text(20, 20, 'Hello world!');
writer
.write(doc.output());
}

ATUALIZAÇÃO 21.03.2014 A
última versão estava produzindo PDF corrompido, abaixo está um código atualizado que funciona corretamente com imagens usando jsPDF.

var sourcer = $('#imageForDocument');

function writeReport(doc) {
var data = doc.output();
var buffer = new ArrayBuffer(data.length);
var array = new Uint8Array(buffer);
for (var i = 0; i < data.length; i++) {
array
[i] = data.charCodeAt(i);
}
writer
.write(buffer);
}

if ($("#doclogo").length > 0) {

window
.canvasplugin(sourcer.attr('src'), function (val) {
var doc = makePdfReport(val);
writeReport
(doc);
});
}