phonegap教程使用jspdf库在应用中生成pdf文件(pdf生成方法)

时间:2022-10-29 05:50:11 

首先在命令行创建一个PhoneGap工程


phonegap create . "jspdf.sample" "JSPDF App"
phonegap local plugin add org.apache.cordova.file
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git

然后,下载JSPDF代码 download the JSPDF project code, 将目标码拷贝到PhoneGap工程目录下。我放在 www/js下。然后,在main HTML文件中引入该文件。


<script type="text/javascript" src="js/jspdf.source.js"></script>

我用的是'dist'目录下未经压缩/最小化的源文件。

接下来我们开始生成PDF文件。下面的代码片段利用PhoneGap的文件处理 API PhoneGap's File API.  来生成一个简单的PDF文件并保存至设备的本地。这个应该算是*AFTER* the deviceready事件。
其中console.log只是为了调试使用:


//FIRST GENERATE THE PDF DOCUMENT
console.log("generating pdf...");
var doc = new jsPDF();

doc.text(20, 20, 'HELLO!');

doc.setFont("courier");
doc.setFontType("normal");
doc.text(20, 30, 'This is a PDF document generated using JSPDF.');
doc.text(20, 50, 'YES, Inside of PhoneGap!');

var pdfOutput = doc.output();
console.log( pdfOutput );

//NEXT SAVE IT TO THE DEVICE'S LOCAL FILE SYSTEM
console.log("file system...");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {

   console.log(fileSystem.name);
   console.log(fileSystem.root.name);
   console.log(fileSystem.root.fullPath);

   fileSystem.root.getFile("test.pdf", {create: true}, function(entry) {
      var fileEntry = entry;
      console.log(entry);

      entry.createWriter(function(writer) {
         writer.onwrite = function(evt) {
         console.log("write success");
      };

      console.log("writing to file");
         writer.write( pdfOutput );
      }, function(error) {
         console.log(error);
      });

   }, function(error){
      console.log(error);
   });
},
function(event){
 console.log( evt.target.error.code );
});

PDF创建过程其实很简单。只要使用doc.output()获取到已创建文件的字符串标识就能做相应的操作。不论是保存到本地,发送到服务器甚至是直接发送到本地设备上的PDF阅读器中。

标签:pdf生成,phonegap教程,jspdf库
0
投稿

猜你喜欢

  • idea右键没有java class选项问题解决方案

    2023-05-29 23:38:40
  • Android MotionEvent中getX()和getRawX()的区别实例详解

    2023-01-24 22:06:42
  • Java中的匿名内部类小结

    2021-05-29 06:29:38
  • c#集合快速排序类实现代码分享

    2023-03-30 13:38:51
  • Android CalendarView,DatePicker,TimePicker,以及NumberPicker的使用

    2022-09-08 18:56:36
  • 详解Java中类的加载与其初始化

    2023-06-21 04:56:45
  • Java Annotation注解相关原理代码总结

    2023-11-18 02:13:57
  • Java4Android开发教程(一)JDK安装与配置

    2022-02-04 22:33:12
  • C#操作注册表的方法

    2022-04-14 03:20:36
  • Android 获取 usb 权限的两种方法

    2022-01-06 14:37:06
  • Android需要提升权限的操作方法

    2021-07-17 11:25:47
  • Android中应用多进程的整理总结

    2022-05-05 04:25:21
  • SWT(JFace) 文本编辑器 实现代码

    2023-01-27 22:39:37
  • JAVA如何调用wsdl过程详解

    2021-08-12 22:00:18
  • Android获取应用版本号与版本名称

    2023-02-09 20:06:11
  • springboot使用Mybatis(xml和注解)过程全解析

    2021-10-06 02:23:28
  • C#利用GDI+画图的基础实例教程

    2023-09-30 06:23:39
  • Android提高Service优先级的方法分析

    2023-01-09 09:05:51
  • Java结构型模式之门面模式详解

    2023-07-29 10:26:55
  • Java中缀表达式转后缀表达式实现方法详解

    2021-08-25 02:57:20
  • asp之家 软件编程 m.aspxhome.com