【问题标题】:Save a pdf file with TideSDK使用 TideSDK 保存 pdf 文件
【发布时间】:2015-03-18 13:22:22
【问题描述】:

我有一个解码问题。

我有一个离线桌面应用程序,我必须在其中生成一个 pdf 文件并在他打开时保存。

要生成 PDF 文件,我使用 BytescoutPDF librarycreatepdf.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 或其他?

【问题讨论】:

    标签: javascript pdf utf-8 save tidesdk


    【解决方案1】:

    我不知道你现在是否解决了你的问题,但我有相同的要求:离线应用程序,从 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 的路径和名称)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多