1: ツールの準備
swftools.exeのダウンロード
http://www.swftools.org/download.html
Dドライブにインストール
SWFTools は、さまざまなファイルを swf に変換するための一連のツールを提供します。
font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
ここでは pdf2swf.exe のみを使用します。
フレックスペーパーのダウンロード
http://code.google.com/p/flexpaper/
ここでは、コンパイルされた Flash バージョンの FlexPaper を使用します。
2: サンプル言語。ここでは例として使用する 2 つの開発環境を示します。
PDF から swf ファイルを生成する PHP の例
次のようにコードをコピーします。
<?php
/*
※2010年11月17日作成
*
* この生成されたファイルのテンプレートを変更するには、次の場所に移動します。
* ウィンドウ - 設定 - PHPeclipse - PHP - コード テンプレート
*/
// ファイルが置かれているディレクトリを取得します
$dir=ディレクトリ名(__FILE__) ;
//テストファイルを削除
@unlink( $dir."//test.swf" );
//pdf2swf変換コマンドを使用する
$command= "D:/SWFTools/pdf2swf.exe -t /"".$dir."//test.pdf/" -o /"".$dir."//test.swf/" -s flashversion= 9 ";
//シェルオブジェクトを作成する
$WshShell = 新しい COM("WScript.Shell");
//cmdコマンドを実行
$oExec = $WshShell->Run("cmd /C ". $command, 0, true);
?>
Javaの例
次のようにコードをコピーします。
<%
/*
※2010年11月17日作成
*/
// ファイルが置かれているディレクトリを取得します
文字列パス=request.getRealPath("/");
//pdf2swf変換コマンドを使用する
文字列コマンド = "D:/SWFTools/pdf2swf.exe -t /""+path+"//test.pdf/" -o /""+path+"//test.swf/" -s flashversion=9 ";
//cmdコマンドを実行
Runtime.getRuntime().exec("cmd /c "+command);
%>
上記は php と java が pdf を swf に変換する方法です。 このように flexpaper を使用して swf を表示します。
次のようにコードをコピーします。
<script type="text/javascript" src="js/swfobject/swfobject.js"></script>
<script type="text/javascript">
var swfVersionStr = "10.0.0";
var xiSwfUrlStr = "playerProductInstall.swf";
var flashvars = {
Swfファイル:escape("test.swf")、
スケール: 0.6、
ZoomTransition: "easeOut",
ズームタイム: 0.5、
ズーム間隔: 0.1、
FitPageOnLoad : false、
FitWidthOnLoad: true、
PrintEnabled : true、
FullScreenAsMaxWindow : false、
ProgressiveLoading : true、
PrintToolsVisible : true、
ViewModeToolsVisible : true、
ZoomToolsVisible : true、
FullScreenVisible : true、
NavToolsVisible : true、
CursorToolsVisible : true、
SearchToolsVisible : true、
ロケールチェーン: "zh_CN"
};
var params = {
}
params.quality = "高";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "同じドメイン";
params.allowfullscreen = "true";
var 属性 = {};
属性.id = "FlexPaperViewer";
属性.name = "FlexPaperViewer";
swfobject.embedSWF(
"FlexPaperViewer.swf"、"フラッシュコンテンツ"、
「650」、「500」、
swfVersionStr、xiSwfUrlStr、
flashvars、params、属性);
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</script>
<本文>
<div style="position:absolute;left:10px;top:10px;">
<div id="フラッシュコンテンツ">
</div>
</div>
</body>
上記の方法により、pdf を対応する swf ファイルに変換し、それを flexpaper 経由で表示して、ユーザーがダウンロードまたはコピーできないようにすることができます。
pdf2swf のパラメータの詳細な説明は、Baidu または Google で見つけることができますが、予期しないエラーを防ぐために、flashversion を 9 に指定することをお勧めします。
すべての pdf を pdf2swf で変換できるわけではなく、暗号化された pdf は pdf2swf で変換できません。
flexpaper パラメータの詳細については、http://code.google.com/p/flexpaper/wiki/Parameters を参照してください。
Flexpaper でよく使用される API http://code.google.com/p/flexpaper/wiki/API
文字化けの問題が発生した場合は、文字セットが原因である可能性があります。インターネット上に関連する解決策が多数あります。[文字セットのブロックの問題は発生していません]。
pdf には、swf に変換すると不鮮明になる可能性のある画像もあります。
Word、wps、txt、その他のドキュメントもこの方法で変換できますが、ツールが必ずしも swftools であるとは限りません。
アップロードされた flexpaper の添付ファイルには、既に flexpaper の関連ファイルが含まれています。swftools をダウンロードしてインストールするだけです。
flexpaper の添付ファイルには、pdf2swf.jsp と pdf2swf.php の 2 つのファイルと、Java または php 環境で実行できる flexpaper 関連のコンポーネントが含まれています。