кодирование pdf-файла с использованием jspdf с phonegap

Я использую jspdf на phonegap 3+ для Android и ios. Я использую плагин File, расположенный по адресу https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git#r1..0.1

Я мог бы создать файл PDF с содержимым, но без изображений, который не работает на мобильной платформе (ios, android). Сгенерированный файл PDF поврежден.

Из-за ограничений API с большим двоичным объектом телефонной связи и построителем больших двоичных объектов они не поддерживаются в iOS. Я могу использовать его на Android.

Предполагая, что PdfOutput предоставляется jsPDF.output()

var pdfdoc=new jsPDF();
// add content ....
var PdfOutput= pdfdoc.output(); 

и в зависимости от того, доступен ли большой двоичный объект, вот 2 способа создания файла с версией 1 большого двоичного объекта.

bb = new BlobBuilder();
bb.append(PdfOutput);
blob = bb.getBlob("application/pdf");    
writer.write(blob);

с помощью этого метода файл создается, но ни одна из букв с ударением не отображается должным образом, например, символ «é» отображается как «Ã©»

версия 2

bb = new BlobBuilder();
bb.append(PdfOutput);
blob = bb.getBlob("text/plain");    
writer.write(blob);

с этим методом файл похож на версию 1

без капли

writer.write(PdfOutput);

с этим методом снова файл похож на другую версию

содержимое файла, написанное Writer.write, закодировано в UTF8, но ожидается ли, что pdf будет содержать только данные ascii?


person pascalpimaia    schedule 27.03.2014    source источник


Ответы (1)


Ответа нет, но есть вопрос. Почему бы не использовать облачный сервис и не поместить генерацию PDF в решение NodeJS. Нижний уровень Openshift бесплатный... Таким образом, у вас не будет различий между платформами. И я даже использовал для этого imagemagik, так что с изображениями проблем быть не должно.

person Bart    schedule 27.03.2014