




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 电子商务移动开发技术 大作业 简易简易 PDFPDF 阅读器阅读器 II 简易简易 PDFPDF 阅读器阅读器 摘摘 要要 在科技日益发达的今天 社会竞争越来越激烈 这要求人们不断的摄取信息来 充实自己 要求人们能随时随地的了解并获取所需的信息 在这种情况下 电子书 阅读器刚好满足了人们便捷地获取信息的需求 本文设计的简易 PDF 阅读器是基于 Android 平台设计的 Android 平台是目前发展最快 最具市场前景的智能手机操作 系统 本系统是根据 Google Android 平台用户的喜好和其平台的特性而设计的 在 Google Android 平台自带的 SDK 环境下 运用 Eclipse Photoshop 等相关工具进 行开发的 本文介绍了 Google Android 开发的流程 讨论了基于 Android 平台应 用程序开发的关键技术 对简易 PDF 阅读器做了详细的需求分析 并重点介绍了基 于 Android 平台的手机电子书阅读器的总体设计 主要包括手机电子书阅读器的架 构设计 各功能模块的设计与实现 本文设计的简易 PDF 阅读器通过了功能和性能方面的测试 证明了本文设计方 案的可行性 通过对基于 Android 平台手机简易 PDF 阅读器的设计与实现的介绍 希望能为今后开发出功能更强大的阅读器提供有益的借鉴 关键词 android PDF SDK PDF 阅读器 SD 卡读取 3 A SIMPLE PDF READER ABSTRACT In science and technology increasingly developed today society is more and more fierce competition it requires people to constantly absorb information to enrich themselves People can understand and get the required information anytime and anywhere In this case e book readers just meet the needs of the people to obtain information easily This paper design the simplified PDF reader is designed based on the Android platform the Android platform is the fastest growing most market prospect of intelligent mobile phone operating system This system is according to user s preferences and Google Android platform is designed according to the features of its platform bring on the Google Android platform SDK environment using the Eclipse Photoshop and other related tools for development Google Android development process has been introduced in this paper based on the Android platform application development is discussed the key technologies of simplified PDF reader demand analysis in detail and introduced the overall design based on Android platform of mobile phone e book reader mainly includes the architecture design of mobile phone e book reader each function module design and implementation Simple PDF reader design in this paper through the functional and performance testing proved the feasibility of the design Based on based on the Android platform mobile phone the introduction of the design and implementation of a simplified PDF reader hope for the future to develop more powerful reader in order to provide the beneficial reference Keywords Android PDF SDK PDF reader read SD card 4 目目 录录 摘摘 要要 1 ABSTRACT 2 第一章第一章 绪论绪论 5 1 11 1 概述概述 5 1 21 2 课题研究的目的和意义课题研究的目的和意义 6 1 31 3 本文的结构本文的结构 6 1 41 4 本章小结本章小结 6 第二章第二章 研究现状研究现状 7 2 12 1 国内外研究现状国内外研究现状 7 2 22 2 本章小结本章小结 7 第三章第三章 可行性分析可行性分析 8 3 13 1 需求分析需求分析 8 3 23 2 PDFPDF 阅读器功能需求阅读器功能需求 8 3 33 3 运行环境运行环境 8 3 43 4 开发工具开发工具 9 3 53 5 本章小结本章小结 9 参参 考考 文文 献献 12 致致 谢谢 13 符号与标记 附录符号与标记 附录 1 1 14 第 6 页 第一章第一章 绪论绪论 1 11 1 概述概述 手机已经成为了生活中不可缺少的通讯设备 没有手机有时会让人觉得寸步难 行 手机不仅具备传统的打电话 发短信等基本的功能 而且具有强大的处理能力 和可扩展能力 能进行电子图书的阅览 基于 3G 网络实现高速数据传输 第三方浏 览软件的运用等 越来越多的功能和业务将被开发出来并大规模的应用 正基于此 Google 于 2007 年 11 月 5 日宣布推出基于 Linux 平台的开源手机操作系统 号称首 个为移动终端打造的真正开放和完整的移动软件 Android 二十世纪七十年代 著名软件工程师 Andsan Fandamu 在美国布朗大学阐述通过 计算机创建和阅读文件的时候首次提出了电子书 1 electronic Book eBook 这一 术语 电子书是利用现代信息技术创造的全新出版方式 将传统的书籍出版发行方 式以数字的形式通过计算机网络实现 阅读器指的是一个设备 是专门用来看电子 书的 随着数字化的不断兴起 电子阅读器市场的竞争变得越来越激烈 电子阅读现在是国家和业内非常重视的一个新兴产业 它与国家提倡的 自主 创新 增强核心竞争力 开展低碳 节能环保的社会环境相吻合 很多厂商 科 研院所都将目光放到了这个原本没有足够重视的领域上 同时 手机电子书阅读器 作为广大网民经常使用的一个工具 在手机阅读市场逐渐扩大的时候 人们对于阅 读的方便性和各种功能设置都有了更高的要求 虽然现在手机电子书阅读器功能己经比较完善 但是离人们的期望还存在较大 的距离 比如改善人们的阅读环境 使人们读起来不感到疲倦而且充满乐趣 同时 现在的阅读器多媒体性能还不够完善 因此 手机电子书阅读器的应用研究还大有 潜力可挖 第 7 页 1 21 2 课题研究的目的和意义课题研究的目的和意义 当今社会手机是已经成为了生活中不可缺少的通讯设备 随着科技的发展手机 的功能也越来越强大 手机电子阅读器是手机中的一种重要软件 其真正意义上指 的是一个可以阅读设备 是专门用来阅读电子书的 随着二十一世纪数字信息化的 不断兴起 电子阅读器的市场竞争也变得越来越激烈 时下社会的进步更是让人们的生活越来越忙碌 抱着厚厚的书本穿梭于大街小 巷已经不再适应这个忙碌的时代 当人们奔波于不同的城市 出没在不同的场所 搭乘不同的交通工具的时候 手机电子阅读器就可以为人们提供方便快捷的阅读平 台 它的作用就像一座桥梁 在我们不方便利用书本或者网络的时候提供一个更快 更方便的平台 让人们能随时的阅读自己喜欢的电子图书 就是因为手机电子阅读器方便快捷的优点 使得人们把用手机电子阅读器阅读 阅读电子书当做当科技时代的一种时尚 这也让手机电子阅读器在人们的生活中扮 演的角色越来越重要 1 31 3 本文的结构本文的结构 本文介绍了作者从了解国内外发展现状 到配置开发环境以及需求分析之后完 成项目并且调试成功的过程 展现了简易 PDF 阅读器的开发历程 1 41 4 本章小结本章小结 本章主要初步介绍了 android 技术的起源与发展 简易 PDF 阅读器开发的意义 和目的 和电子阅读器这个行业的背景 第 8 页 第第 2 章章 研究现状研究现状 2 12 1 国内外研究现状国内外研究现状 最早出现在市场上的电子书阅读器是美国 Soft Book 公司的 Soft Book 和 Nov Media 公司的 RocketBook 它们都具有美观的外型形状像一本古典的精装书 存储容量分别为 8MB 和 32MB 的内存 分别可以容纳 5 000 和 32 000 多个电子页的 信息 与计算机串口相连 可以从 Soft Book 和 Nuvo Media 的网上售书连锁店 下 载书籍和期刊 2000 年 8 月 美国微软公司发布了一个可供人们阅读电子书的应用软件 Microsoft Reader 这种阅读器软件的核心技术是 Clear Type 微软称之为 对液晶显示屏具有革命性 的变革 它是一种能使文字在显示器上的显示效果像印在纸上一样平滑清晰的字 符显示技术 这种技术大大提高了屏幕的分辨率和清晰度 使读者能够获得最接近 传统书的阅读效果 同时南开大学津科公司开发了一款阅读不耗电的电子书阅读器 该电子书阅读器已经面市并将投人大规模生产 它采用了华人科学家吴葆刚博士发 明的 多稳态液晶显示器 并在国际上首次实现了 翻页不耗电 阅读显示 除 了上述几种电子书阅读器之外 Every Book Librius Glass Book 等公司也都推出 了自己的电子书阅读器和阅读软件 辽宁出版集团和美国秦通公司联手合作推出了 中文电子 掌上书屋 随着这些阅读器的出现 使得电子图书 期刊这些原本只 能在 PC 上阅读的东西突然变得可以移动 电子书籍与纸制书籍之间的距离缩短了一 大步 同时 电子书阅读器更方便和灵活的使用功能也在不断地研究推出 例如 可以在阅读的时候加批注 书签 字体可缩放 旋转和支持声音播放等等 2 22 2 本章小结本章小结 本章主要介绍了电子阅读器在国际国内上的发展现状 以及行业背景 第 9 页 第第 3 章章 可行性分析可行性分析 为了开发出真正满足用户需求的软件产品 需要对开发产品做出需求分析 对 软件的需求的合理把握是软件开发周期中非常重要的一个环节 本章将对手机阅读 器作较为全面的需求分析 3 13 1 需求分析需求分析 随着手机功能不断增强 手机阅读器已成为智能手机重要软件之一 开发一款 符合广大用户需求的手机阅读器有很好的市场前景和意义 本软件的目标是开发一款基于 Android 平台符合用户使用需求的手机电子书阅 读器 本阅读器支持 PDF 格式的文件 用户可以通过 PDF 阅读器从 SDCARD 选择自己 想要观看的 PDF 文件 本软件具有美观简洁便于用户使用的触摸界面 这也是 Android 操作系统不同于传统 Windows Mobile 和 Symbian 系统上应用软件的优势之 一 3 23 2 PDFPDF 阅读器功能需求阅读器功能需求 作为 Android 平台上开发的应用软件 它具有与用户交互的界面 界面简洁美 观易于操作 因此 对手机阅读器的功能规定可以从手机阅读器的界面来划分 手 机阅读器的用户操作界面分为一下四部分 读取界面 阅读界面 3 33 3 运行环境运行环境 1 系统要求 Android 系统 2 2 版本以上 对以后继续进行升级开发有可延续性 第 10 页 2 灵活性 软件基于 Android 操作系统 是基于组件的开发方式 3 时间特性的要求 软件的速度要在用户可接受的范围能扩展需求 4 软件特性要求 软件运行速度要在用户可接受的范围之内 对流量 电量等消耗要在用户可接 受范围之内 3 43 4 开发工具开发工具 作者运用 Myeclipse 软件搭配 android APK 进行软件开发 操作系统为 WIN7 64 位 使用虚拟机为 android 4 0 480 800 的虚拟机 3 53 5 本章小结本章小结 本章主要介绍了 PDF 阅读器的需求分析 PDF 阅读器的功能需求和软件运行需 要的环境和软件的开发环境 第 11 页 第四章第四章 系统设计系统设计 4 14 1 结构设计结构设计 Android 的架构是 Linux 内核 C C 函数库 Dalvik 虚拟机 应用框架以及关 键应用程序构成的 如图 1 所示 通过编译基于框架的应用程序可以降低开发负荷 应用软件原则上是在 Dalvik VM 上运行的 图 1 Android 的架构 1 关键应用程序 Android 平台内包含一些关键应用程序 如邮件收发客户端程序 短信收发程 序 日历和网页浏览器等 开发者可以在其平台上开发更多有特色的应用程序 开 发语言是 Java 应用程序框架 1 张鹏 Eclipse 插件开发学习笔记 Z 北京 电子工业出版社 2008 第 12 页 Android 应用程序的开发基于框架和组件 Android 本身已在其框架中提高了许 多的组件供应用程序调用 当然开发者也开放新的组件 并将组件放入应用程序框 架中 以供自己和其它应用程序调用 C C 函数库 Android 应用程序框架之下是一套 C C 函数库 它们服务于 Android 应用程序 组件 其功能通过组件间接提供给开发者 这些函数库包括 标准 C 函数库 媒体 功能库 浏览器引擎 2D 和 3D 图形库 基于 WEB 应用的的安全协议 SSL 用于点阵 和矢量字体渲染的 FreeType 以及 SQLite 引擎等 Java 程序运行环境 Android 的 Java 程序运行环境包含一组 Java 核心函数库及 Dalvik 虚拟机 它 们有效地优化了 Java 程序的运行过程 所有的 Android 应用都运行在它自己的进程 里 该进程是一个 Dalvik 虚拟机的实例 Dalvik 被设计成能在一台设备上高效的 运行多个虚拟机实例 Dalvik 虚拟机的可执行文件被封装成 Dalvik 可执行格式 dex 这是被优化过的最小内存依赖的格式 Java 编译器 dx 工具 将注册了的和 运行时用到的类编译成 dex 格式 Dalvik 虚拟机依赖于底层 Linux 内核提供的功能 如线程机制 和内存管理机制等 Linux 内核 Android 系统平台是基于优化了的 Linux 内核 是其系统平台的核心 它提供 诸如内存管理 进程管理 设备驱动等服务 同时也是手机软硬件的连接层 提供 了一个屏蔽层用于屏蔽硬件和上层软件 4 2 系统功能设计系统功能设计 应用平台层是位于 Android 操作系统与应用层之间的 HomeScreen 是用来用用 程序显示的 它是用来管理和开启应用程序的平台 最上层的是应用程序 该层包 含手机上安装的各种应用程序 只要包括 日历 地图 联系人 短信 电话 闹 第 13 页 钟等 本文设计的手机电子说阅读器就是属于应用层 图 2 系统功能设计 4 34 3 本章小结本章小结 本章介绍了系统设计的概要 第 14 页 第五章第五章 系统实现系统实现 5 15 1 界面设计界面设计 界面设计见图 3 图 4 图 5 图 6 图 7 本阅读器的界面简单明了 使用户 在最短时间内打开自己想要查看的 PDF 省略花哨的界面只保留最有用的功能 图 3 阅读器初始界面 第 15 页 图 4 阅读器打开 PDF 界面 第 16 页 图 5 阅读器未找到 PDF 界面 第 17 页 图 6 阅读器查找 PDF 界面 第 18 页 图 7 阅读器在应用程序列表中的图标 5 25 2 阅读阅读 PDFPDF 功能功能 本功能可以在 android 手机上将 PDF 文件以图片的形式打开 解决以往 PDF 文 件在手机上无法查看的问题 部分代码如下 package com sun pdfview import java util Iterator 第 19 页 import java util List import net sf andpdf utils Utils import android graphics Matrix import android graphics PointF import android graphics RectF import android util Log import com sun pdfview font PDFFont import com sun pdfview font PDFGlyph public class PDFTextFormat implements Cloneable character spacing private float tc 0 word spacing private float tw 0 horizontal scaling private float th 1 leading private float tl 0 rise amount private float tr 0 text mode private int tm PDFShapeCmd FILL text knockout private float tk 0 current matrix transform private Matrix cur matrix transform at start of line private Matrix line font private PDFFont font font size private float fsize 1 are we between BT and ET private boolean inuse false private Object array new Object 1 第 20 页 build text rep of word private StringBuffer word new StringBuffer this is where we build and keep the word list for this page start location of the hunk of text private PointF wordStart location of the end of the previous hunk of text private PointF prevEnd create a new PDFTextFormat with initial values public PDFTextFormat cur new Matrix line new Matrix wordStart new PointF 100 100 prevEnd new PointF 100 100 tc tw tr tk 0 tm PDFShapeCmd FILL th 1 reset the PDFTextFormat for a new run public void reset cur reset line reset inuse true word setLength 0 end a span of text public void end inuse false 第 21 页 get the char spacing public float getCharSpacing return tc set the character spacing public void setCharSpacing float spc this tc spc get the word spacing public float getWordSpacing return tw set the word spacing public void setWordSpacing float spc this tw spc Get the horizontal scale return the horizontal scale in percent public float getHorizontalScale return th 100 set the horizontal scale param scl the horizontal scale in percent 100 normal public void setHorizontalScale float scl this th scl 100 get the leading public float getLeading return tl 第 22 页 set the leading public void setLeading float spc this tl spc get the font public PDFFont getFont return font get the font size public float getFontSize return fsize set the font and size public void setFont PDFFont f float size this font f this fsize size Get the mode of the text public int getMode return tm set the mode of the text The correspondence of m to mode is show in the following table m is a value from 0 7 in binary 000 Fill 001 Stroke 010 Fill Stroke 011 Nothing 100 Fill Clip 101 Stroke Clip 110 Fill Stroke Clip 第 23 页 111 Clip Therefore Fill corresponds to the low bit being 0 Clip corresponds to the hight bit being 1 and Stroke corresponds to the middle xor low bit being 1 public void setMode int m int mode 0 if m if m if m this tm mode Set the mode from another text format mode param mode the text render mode using the codes from PDFShapeCmd and not the wacky PDF codes public void setTextFormatMode int mode this tm mode Get the rise public float getRise return tr 第 24 页 set the rise public void setRise float spc this tr spc perform a carriage return public void carriageReturn carriageReturn 0 tl perform a carriage return by translating by x and y The next carriage return will be relative to the new location public void carriageReturn float x float y Matrix trans new Matrix trans setTranslate x y line preConcat trans cur set line Get the current transform public Matrix getTransform return cur set the transform matrix directly public void setMatrix float matrix line new Matrix Utils setMatValues line matrix cur set line 第 25 页 add some text to the page param cmds the PDFPage to add the commands to param text the text to add public void doText PDFPage cmds String text PointF zero new PointF Matrix scale new Matrix Utils setMatValues scale fsize 0 0 fsize th 0 tr Matrix at new Matrix List l font getGlyphs text for Iterator i l iterator i hasNext PDFGlyph glyph PDFGlyph i next at set cur at preConcat scale PointF advance glyph addCommands cmds at tm float advanceX advance x fsize tc if glyph getChar advanceX tw advanceX th cur preTranslate advanceX advance y float src zero x zero y float dst new float src length cur mapPoints dst src prevEnd set dst 0 dst 1 add some text to the page param cmds the PDFPage to add the commands to param ary an array of Strings and Doubles where the Strings represent text to be added and the Doubles represent kerning 第 26 页 amounts public void doText PDFPage cmds Object ary throws PDFParseException for int i 0 i ary length i if ary i instanceof String doText cmds String ary i else if ary i instanceof Double float val Double ary i floatValue 1000f cur preTranslate val fsize th 0 else throw new PDFParseException Bad element in TJ array finish any unfinished words TODO write this public void flush TODO finish any unfinished words Clone the text format Override public Object clone PDFTextFormat newFormat new PDFTextFormat copy values newFormat setCharSpacing getCharSpacing newFormat setWordSpacing getWordSpacing newFormat setHorizontalScale getHorizontalScale newFormat setLeading getLeading newFormat setTextFormatMode getMode newFormat setRise getRise copy immutable fields newFormat setFont getFont getFontSize 第 27 页 clone transform mutable newFormat getTransform setTransform getTransform return newFormat 5 35 3 本章小结本章小结 本章主要介绍了 PDF 阅读器的界面布局 界面样式 和 PDF 阅读器其中的功能 并且展示部分代码 第六章第六章 系统测试系统测试 6 16 1 AndroidAndroid 手机系统测试之打断事件手机系统测试之打断事件 Android 手机提供的打断事件与以往手机有着一些机制上的不同 当然也有很多 跟以前一样的机制 所以我们要从他的应用程序打断机理出发 定制本系统的系统 测试用例的打断事件 1 打断事件一般分为系统基本打断事件 2 Back 键 3 改变手机方向 4 长按 Home 键 切换应用程序 5 内容冲突检测 content provider 6 长按 Power 键 调出关机窗口 第 28 页 Home 键回 home app 当前测试的应用就会放到后台处于 stop 状态 如果想监控到 Activity 生命周期的变化 必然会在 Create 或 Start 等处有代码来 进行处理 在 startActivityForResu 函数中 mInstrumentation execStartActivity 一句 让我们看到至少有一个 mInstrumentation 的对象受委托在启动 Activity 这个委托是 有可能加入监控动作的 public void startActivityForResult Intent intent int requestCode 在以 perform 开头的几个函数中 本系统再次发现了对 mInstrumentation 对象的 调用 例如 performStart 函数 final void performStart 该类的接口主要有以下几类 对 Activity 监控对象的处理接口 Activity 状态改 变时的回调通知接口 生成 Activity 和 Application 的接口 向 Activity 发送事件通 知的接口 性能处理的接口等 先来看 callActivityOnCreate 函数 public void callActivityOnCreate Activity activity Bundle icicle 再来看本文章前文提到的 execStartActivity 函数 public ActivityResult execStartActivity 6 26 2 测试中发现的问题及修复测试中发现的问题及修复 本系统在设计开发的过程当中 遇到了不少的问题 在老师的细心帮助和指导 在各位朋友 同时的同心协助下都已一一解决 本程序的最主要问题是在文件源获取时 发生因为手机储存卡内部文件繁琐 第 29 页 样式冗杂 导致本程序在遍历内存卡 添加可用文件的时候出现错误的判断 使得 电子书不能正常的导入或者导入手机之后程序却不能正确的读取 在同学的帮助之 下 本程序最终采用直接输入文件名查询文件 完美的解决了文件加载错误的问题 6 36 3 本章小结本章小结 本章主要介绍了软件的测试过程 和其中问题和修复过程 第七章第七章 总结总结 7 17 1 主要结论主要结论 随着智能手机和 3G 网络的发展 手机的功能和性能 通信网络的数据业务支持 能力将极大增强 手机将脱离传统的打电话 发短信等基本的功能 而基于智能手 机强大的处理能力和可扩展能力 基于 3G 网络高速数据传输 越来越多的功能和业 务将被开发出来并大规模的应用 而 Android 手机平台作为移动平台的新秀 以 其良好的性能和强大的功能 以开源的形式受到广大开发者和手机制造商的青睐 在这种情况下 Google Android 无疑成为我们进行智能手机开发的一个非常好的选 择 本文 笔者通过对 Android 这个横空出世的平台的简要介绍 概述了其众多的 优点和其对整个智能手机乃至手机软件开发行业的意义和重要性 阐明了其研究的 重要性和必行性 而后 笔者根据 Android Market 上用户的喜爱程度来选择了研 究方向 基于 Android 手机平台的 PDF 阅读器 并根据此项目自身的特点和 Android 平台的特点 选取了相应的开发工具 并对其做了简单的介绍 而后根据 第 30 页 电子书阅读器的特点选择了数据库存取方式 并根据 Android 手机的特点制定了基 于 Andorid 手机平台下的电子商业阅读器的布局 界面 然后根据 Android 平台的 自身特点进行了开发 并对其关键性代码进行了说明 并对该项目做了相关的测试 在本课题完成的过程中 笔者完成了以下工作 1 阅读了大量的相关书籍 对 Android 手机平台的开发有了较为深层次的了解 2 实践了开发环境的搭建 并最开发工具做了相关的了解和优化 最终选取了 当前开发环境和开发工具的配置 3 开发并测试了基于 Android 平台下的 PDF 阅读器 对一些已知的和用户反馈 的 bug 和不足之处进行了修改 7 27 2 研究展望研究展望 由于时间仓促 本系统还有些功能需要进一步完善 下一步努力的方向如下 1 实现在线阅读网站内 PDF 功能 2 提供阅读 UMD CHM HTML PDB 等格式的书籍功能 3 提供编辑 PDF 功能 第 31 页 参参 考考 文文 献献 1 赵继海 电子书阅读器的发展及其对图书馆的影响 J 大学图书馆学报 2001 19 4 2 高峰 李玲 试论电子书对图书馆的影响 J 山西广播电视大学学报 2007 12 1 3 祁英红 几种常用电子书刊阅读器的比较 J 甘肃科技纵横 2006 35 6 4 周康 电子书悄悄走近我们 J 出版参考 2006 27 5 高焕堂 应用框架原理与程序设计 36 技 M 台湾 MISOO 设计中心 2008 6 张鹏 姜昊 许力 Eclipse 插件开发 M 北京 电子工业出版社 2008 7 张鹏 Eclipse 插件开发学习笔记 Z 北京 电子工业出版社 2008 8 刘慧 Java ME 实用详解 用 Eclipse 进行移动开发 M 北京 电子工业出版社 2007 9 余志龙 Google Android SDK 开发范例大全 M 北京 人民邮电出版社 2009 第 32 页 第 33 页 致致 谢谢 历时将近两个月的时间终于将这篇论文写完 在论文的写作过程中遇到了无数 的困难和障碍 都在同学和老师的帮助下度过了 尤其要强烈感谢我的论文指导老 师 蒋文蓉老师 她对我进行了无私的指导和帮助 不厌其烦的帮助进行论文的修 改和改进 另外 在校图书馆查找资料的时候 图书馆的老师也给我提供了很多方 面的支持与帮助 在此向帮助和指导过我的各位老师表示最中心的感谢 感谢这篇论文所涉及到的各位学者 本文引用了数位学者的研究文献 如果没 有各位学者的研究成果的帮助和启发 我将很难完成本篇论文的写作 感谢我的同学和朋友 在我写论文的过程中给予我了很多你问素材 还在论文 的撰写和排版灯过程中提供热情的帮助 由于我的学术水平有限 所写论文难免有不足之处 恳请各位老师和学友批评 和指正 第 34 页 符号与标记 附录符号与标记 附录 1 1 部分代码 package com sun pdfview import java io File import java io FileOutputStream import java io IOException import java lang ref WeakReference import java util ArrayList import java util HashMap import java util Stack import net sf andpdf pdfviewer ByteBuffer import net sf andpdf utils Utils import android graphics Matrix import android graphics Path import android graphics RectF import android graphics Path Direction import android graphics Path FillType import android os Debug import com sun pdfview colorspace PDFColorSpace import com sun pdfview decode PDFDecoder import com sun pdfview font PDFFont 第 35 页 public class PDFParser extends BaseWatchable emit a file of DCT stream data public final static String DEBUG DCTDECODE DATA debugdctdecode static final boolean RELEASE true static final int PDF CMDS RANGE1 MIN 1 static final int PDF CMDS RANGE1 MAX Integer MAX VALUE static final int PDF CMDS RANGE2 MIN 0 static final int PDF CMDS RANGE2 MAX 0 private int cmdCnt parsing variables private Stack stack stack of Object private Stack parserStates stack of RenderState the current render state private ParserState state private Path path private int clip private int loc private boolean resend false private Tok tok private boolean catchexceptions Indicates state of BX EX a weak reference to the page we render into For the page to remain available some other code must retain a strong reference to it private WeakReference pageRef the actual command for use within a singe iteration Note that this must be released at the end of each iteration to assure the 第 36 页 page can be collected if not in use private PDFPage cmds result variables byte stream HashMap resources public static int debuglevel 4000 TODO FHe changed for debugging public static int debuglevel 1 public static void debug String msg int level if level debuglevel System out println escape msg public
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧校园教学资源平台建设:构建高效教育生态圈
- 民法典相伴一生课件
- 《ISO 37001-2025 反贿赂管理体系要求及使用指南》专业深度解读和应用培训指导材料之4:6策划(2025A1)(可编辑!)
- 河北省定兴中学2026届化学高二上期末质量检测模拟试题含答案
- 2025年英语四六级考试阅读理解专项训练试卷 高效解题技巧
- 2025年公务员考试行测数量关系专项突破模拟试题集
- 玩具公司专业知识培训总结课件
- 盐城小学面试题目及答案
- 玉簪花春季养护知识培训
- 2025年高端办公室装饰工程及智能照明系统安装合同
- 停工缓建项目管理办法
- 淋巴水肿健康科普
- 采购应急计划管理办法
- 上海选调生面试题和考官用题本及答案21套
- 2025年学校食堂从业人员食品安全知识培训考试试题及答案
- 2025年国家电投校园招聘笔试考点考试题库及答案
- 让情绪有着落-2025年情绪营销8大趋势洞察报告
- 教师校园安全培训课件
- 头皮健康与头发生长关系的研究
- Odoo面试题及答案
- 2025年全国I卷英语 高考真题
评论
0/150
提交评论