我有解码问题。
我有一个离线桌面应用程序,我必须生成一个pdf文件并保存在他的开放状态。
要生成PDF文件,请使用BytescoutPDF library createpdf.js 。
这将返回我必须保存的文档变量。 我尝试过:
//this calls the createPDF to BytescoutPDF library
//and returns the variable into 'doc'
var doc = generaStaticPartBolla_2();
//take the stream
var bolla = Ti.Filesystem.getFileStream(billPath);
//open in write mode
bolla.open(Ti.Filesystem.MODE_WRITE);
//write the doc file decodified in Base 64
bolla.write(doc.getBase64Text());
//close the stream
bolla.close();
现在,生成的文件已被破坏。 我无法打开它。我怎样才能做到这一点?该文件必须在Base 64或其他?
中转换答案 0 :(得分:2)
我不知道您现在是否已经解决了问题,但我有相同的要求:离线应用,从HTML生成pdf,在我的情况下,使用CSS设置生成的pdf样式。 在尝试了许多解决方案后,主要问题是使用CSS进行样式化。 最后我使用了WkhtmlToPdf(http://wkhtmltopdf.org/)。基本上我在应用程序中嵌入了二进制文件(用于mac os和用于windows),关于平台,我使用Ti.Process方法执行它们。 WkhtmlToPdf在指定的路径中生成pdf,因此以这种方式,您将能够打开此pdf。 (为了设置pdf的路径,我使用openSaveAsDialog(http://tidesdk.multipart.net/docs/user-dev/generated/#!/api/Ti.UI.UserWindow-method-openFileChooserDialog),它允许用户设置生成的pdf的路径和名称。