1: Preparação da ferramenta
Baixar swftools.exe
http://www.swftools.org/download.html
Instalar na unidade D
SWFTools fornece uma série de ferramentas para converter vários arquivos em swf:
font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
Aqui usamos apenas pdf2swf.exe
baixar papel flexível
http://code.google.com/p/flexpaper/
Aqui usamos a versão flash compilada do FlexPaper
2: Linguagem de exemplo, aqui estão os dois ambientes de desenvolvimento que uso como exemplos.
Exemplo de PHP gera arquivo swf a partir de pdf
Copie o código do código da seguinte forma:
<?php
/*
* Criado em 17/11/2010
*
* Para alterar o modelo deste arquivo gerado acesse
* Janela - Preferências - PHPeclipse - PHP - Modelos de código
*/
//Obtém o diretório onde o arquivo está localizado
$dir=dirnome(__FILE__) ;
//deleta o arquivo de teste
@unlink($dir."//test.swf" );
//Use o comando de conversão pdf2swf
$command= "D:/SWFTools/pdf2swf.exe -t /"".$dir."//test.pdf/" -o /"".$dir."//test.swf/" -s flashversion= 9";
//Cria objeto shell
$WshShell = new COM("WScript.Shell");
//Executa o comando cmd
$oExec = $WshShell->Run("cmd /C ". $command, 0, true);
?>
exemplo java
Copie o código do código da seguinte forma:
<%
/*
* Criado em 17/11/2010
*/
//Obtém o diretório onde o arquivo está localizado
String caminho=request.getRealPath("/");
//Use o comando de conversão pdf2swf
Comando de string= "D:/SWFTools/pdf2swf.exe -t /""+path+"//test.pdf/" -o /""+path+"//test.swf/" -s flashversion=9 ";
//Executa o comando cmd
Runtime.getRuntime().exec("cmd /c "+comando);
%>
A descrição acima é como php e java convertem pdf em swf. E quanto ao display? Desta forma, usaremos flexpaper.
Copie o código do código da seguinte forma:
<script type="text/javascript" src="js/swfobject/swfobject.js"></script>
<script type="texto/javascript">
var swfVersionStr = "10.0.0";
var xiSwfUrlStr = "playerProductInstall.swf";
var flashvars = {
SwfFile: escape("teste.swf"),
Escala: 0,6,
ZoomTransition: "easeOut",
Tempo de zoom: 0,5,
Intervalo de zoom: 0,1,
FitPageOnLoad: falso,
FitWidthOnLoad: verdadeiro,
PrintEnabled: verdadeiro,
FullScreenAsMaxWindow: falso,
ProgressiveLoading: verdadeiro,
PrintToolsVisible: verdadeiro,
ViewModeToolsVisible: verdadeiro,
ZoomToolsVisible: verdadeiro,
FullScreenVisible: verdadeiro,
NavToolsVisible: verdadeiro,
CursorToolsVisible: verdadeiro,
SearchToolsVisible: verdadeiro,
localeChain: "zh_CN"
};
var parâmetros = {
}
params.qualidade = "alto";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "verdadeiro";
var atributos = {};
atributos.id = "FlexPaperViewer";
atributos.name = "FlexPaperViewer";
swfobject.embedSWF(
"FlexPaperViewer.swf", "flashContent",
"650", "500",
swfVersionStr, xiSwfUrlStr,
flashvars, parâmetros, atributos);
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</script>
<corpo>
<div style="posição:absoluta;esquerda:10px;topo:10px;">
<div id="flashContent">
</div>
</div>
</body>
Através do método acima, podemos converter o pdf no arquivo swf correspondente e exibi-lo através do flexpaper para evitar que os usuários baixem ou copiem.
A descrição detalhada dos parâmetros do pdf2swf pode ser encontrada no Baidu ou no Google, mas é melhor especificar a versão flash como 9 para evitar alguns erros inesperados.
Nem todos os PDFs podem ser convertidos em pdf2swf e os PDFs criptografados não podem ser convertidos em pdf2swf.
Para obter uma descrição detalhada dos parâmetros do flexpaper, consulte http://code.google.com/p/flexpaper/wiki/Parameters
API Flexpaper comumente usada http://code.google.com/p/flexpaper/wiki/API
Se houver um problema com caracteres ilegíveis, isso pode ser causado pelo conjunto de caracteres. Existem muitas soluções relacionadas na Internet que você pode verificar [não encontrei o problema de bloqueio do conjunto de caracteres].
Também há imagens no PDF que podem não ficar claras após serem convertidas para swf.
Word, wps, txt e outros documentos também podem ser convertidos desta forma, mas a ferramenta não é necessariamente swftools
O anexo do flexpaper carregado já contém os arquivos relevantes no flexpaper. Não há necessidade de baixá-lo novamente.
O anexo do flexpaper contém dois arquivos, pdf2swf.jsp e pdf2swf.php, e componentes relacionados ao flexpaper que podem ser executados em um ambiente java ou php.