﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Java开源技术</title><link>http://www.blogjava.net/jforeverg/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 08:07:18 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 08:07:18 GMT</pubDate><ttl>60</ttl><item><title>解决FlexPaper分页分段加载问题</title><link>http://www.blogjava.net/jforeverg/archive/2011/07/06/353813.html</link><dc:creator>jforeverg</dc:creator><author>jforeverg</author><pubDate>Wed, 06 Jul 2011 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/jforeverg/archive/2011/07/06/353813.html</guid><wfw:comment>http://www.blogjava.net/jforeverg/comments/353813.html</wfw:comment><comments>http://www.blogjava.net/jforeverg/archive/2011/07/06/353813.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.blogjava.net/jforeverg/comments/commentRss/353813.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jforeverg/services/trackbacks/353813.html</trackback:ping><description><![CDATA[FlexPaper是一个开源的PDF文档在线查看控件。用户查看PDF文档不需要安装Acrobat Reader，但需要利用像<a href="link.php?url=http://www.swftools.org%2Fdownload.html" target="_blank">SwfTools</a>这样的工具预先将PDF文档转成SWF格式的文件。FlexPaper能够对需要查看的文档进行分页、搜索、打印、缩放、全屏查看等<span style="font-family: 宋体" class="Apple-style-span"></span> 
<p>&nbsp;</p>
<p><span style="font-family: 宋体" class="Apple-style-span">但对于一次性加载</span>整个大型文档会导致加载时间过长和内存过渡消耗。在新的FlexPaper版本中已经能够解决这个问题。首先需要将你的文档拆分成多份swf文件，然后在调用FlexPaper的时候设置好相关参数，这样在浏览的时候就能够分页/分段加载。下面将介绍如何将文档拆分成多份swf文件和怎么设置FlexPaper参数：<br /></p>
<p>关于如何拆分文档，在FlexPaper 1.4.5中已经提供了一个开箱即用的示例。只要在支持PHP的服务器上运行其提供的'split_document.php'文件能够自动进行分页。对于服务器上不支持PHP运行的，可以在调用PDF2SWF程序时，在原来调用的命令行基础上稍微修改一下具体如下：<br /><br /><strong>C:\SWFTools\pdf2swf.exe</strong> Paper.pdf <strong>-o</strong> Paper<font color="red">%</font>.swf <strong>-f -T 9 -t -s storeallcharacters</strong></p><br />大家可以看到上面的命令行比原来只多了一个<font color="#ff0000">%</font>符号，这个符号表示PDF2SWF转换文档时，将为每一页创建一个swf文件。如："Paper1.swf", "Paper2.swf"。然后在FlexPaper控件配置加载SwfFile的地方，采用：<strong>{filename[*,padding],total pages}</strong>这种语法表明。<br /><br />以下给出一个具体的配置示例：<pre class="prettyprint"><div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;fp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FlexPaperViewer(&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">FlexPaperViewer</span><span style="color: #000000">'</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">viewerPlaceHolder</span><span style="color: #000000">'</span><span style="color: #000000">,&nbsp;{&nbsp;config&nbsp;:&nbsp;{&nbsp;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SwfFile&nbsp;:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">{Paper[*,0].swf,28}</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scale&nbsp;:&nbsp;</span><span style="color: #000000">0.6</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ZoomTime&nbsp;:&nbsp;</span><span style="color: #000000">0.5</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ZoomInterval&nbsp;:&nbsp;</span><span style="color: #000000">0.1</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FitPageOnLoad&nbsp;:&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FitWidthOnLoad&nbsp;:&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintEnabled&nbsp;:&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MinZoomSize&nbsp;:&nbsp;</span><span style="color: #000000">0.2</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxZoomSize&nbsp;:&nbsp;</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localeChain&nbsp;:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">en_US</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}});</span></div><br />在这个例子中，我们指示FlexPaper按分页的方法来加载一个共有28页的文档，不需要用0填充文件名。假如你的文件是按</strong>"Paper01.swf", "Paper02.swf", .. 这种形式拆分时，要将padding设置成1，意思是用一个零来填充文件名。 </pre>
<div>FlexPaper项目地址：<a href="link.php?url=http://flexpaper.devaldi.com%2F" target="_blank">http://flexpaper.devaldi.com/</a><br />下载地址：<a href="link.php?url=http://flexpaper.devaldi.com%2Fdownload%2F" target="_blank">http://flexpaper.devaldi.com/download/</a><br />文档地址：<a href="link.php?url=http://flexpaper.devaldi.com%2Fdocs.htm" target="_blank">http://flexpaper.devaldi.com/docs.htm</a><br />开源文档共享平台：<a href="http://doc.open-open.com/">http://doc.open-open.com/</a></div><img src ="http://www.blogjava.net/jforeverg/aggbug/353813.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jforeverg/" target="_blank">jforeverg</a> 2011-07-06 17:34 <a href="http://www.blogjava.net/jforeverg/archive/2011/07/06/353813.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>