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/
Здесь мы используем скомпилированную флэш-версию FlexPaper.
2: Пример языка. Вот две среды разработки, которые я использую в качестве примеров.
Пример PHP генерирует SWF-файл из PDF
Скопируйте код кода следующим образом:
<?php
/*
* Создано 17 ноября 2010 г.
*
* Чтобы изменить шаблон для этого сгенерированного файла, перейдите по ссылке
* Окно — Настройки — 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
Скопируйте код кода следующим образом:
<%
/*
* Создано 17 ноября 2010 г.
*/
//Получаем каталог, в котором находится файл
Строковый путь = request.getRealPath("/");
//Используем команду преобразования pdf2swf
String command="D:/SWFTools/pdf2swf.exe -t /""+path+"//test.pdf/" -o /""+path+"//test.swf/" -s flashversion=9 ";
//Выполняем команду cmd
Runtime.getRuntime().exec("cmd /c "+команда);
%>
Выше показано, как PHP и Java конвертируют PDF в SWF. А как насчет отображения? Таким образом, мы будем использовать гибкую бумагу для отображения SWF.
Скопируйте код кода следующим образом:
<script type="text/javascript" src="js/swfobject/swfobject.js"></script>
<тип сценария="текст/javascript">
вар swfVersionStr = "10.0.0";
var xiSwfUrlStr = "playerProductInstall.swf";
вар flashvars = {
SwfFile: escape("test.swf"),
Масштаб: 0,6,
ZoomTransition: «easeOut»,
ZoomTime: 0,5,
ЗумИнтервал: 0,1,
FitPageOnLoad: ложь,
FitWidthOnLoad: правда,
PrintEnabled: правда,
FullScreenAsMaxWindow: ложь,
Прогрессивная загрузка: правда,
PrintToolsVisible: правда,
ViewModeToolsVisible: правда,
ZoomToolsVisible: правда,
FullScreenVisible: правда,
NavToolsVisible: правда,
CursorToolsVisible: правда,
SearchToolsVisible: правда,
localeChain: "zh_CN"
};
вар параметры = {
}
params.quality = "высокий";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "тот же домен";
params.allowfullscreen = "истина";
атрибуты вар = {};
атрибуты.id = "FlexPaperViewer";
атрибуты.имя = "FlexPaperViewer";
swfobject.embedSWF(
«FlexPaperViewer.swf», «flashContent»,
«650», «500»,
swfVersionStr, xiSwfUrlStr,
flashvars, параметры, атрибуты);
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</скрипт>
<тело>
<div style="position:absolute;left:10px;top:10px;">
<div id="flashContent">
</div>
</div>
</тело>
С помощью описанного выше метода мы можем преобразовать PDF в соответствующий SWF-файл и отобразить его на гибкой бумаге, чтобы пользователи не могли загружать или копировать.
Подробное описание параметров pdf2swf можно найти на Baidu или Google, но лучше всего указать flashversion как 9, чтобы избежать непредвиденных ошибок.
Не все PDF-файлы можно преобразовать в pdf2swf, а зашифрованные PDF-файлы невозможно преобразовать в pdf2swf.
Подробное описание параметров гибкой бумаги можно найти на странице http://code.google.com/p/flexpaper/wiki/Parameters.
Часто используемый API Flexpaper http://code.google.com/p/flexpaper/wiki/API
Если возникла проблема с искаженными символами, возможно, она вызвана набором символов. В Интернете можно найти множество соответствующих решений [я не сталкивался с проблемой блокировки набора символов].
В PDF-файле также есть изображения, которые могут быть нечеткими после конвертации в SWF.
Word, wps, txt и другие документы также можно конвертировать таким способом, но это не обязательно swftools.
Загруженное приложение flexpaper уже содержит соответствующие файлы в формате flexpaper. Нет необходимости загружать его еще раз. Просто загрузите swftools и установите его.
Вложение flexpaper содержит два файла: pdf2swf.jsp и pdf2swf.php, а также компоненты, связанные с flexpaper, которые можно запускать в среде Java или php.