Por padrão, o Java não é capaz de trabalhar com arquivos Flash SWF . Os arquivos SWF são arquivos Adobe Flash que contêm multimídia, gráficos vetoriais e ActionScript. No entanto, um pacote de funções está disponível na Web que estende a funcionalidade do Java e permite que você trabalhe com arquivos Flash . Por exemplo , ele pode ajudá-lo a analisar o arquivo SWF e ler todo o texto . Você pode então usar o texto em suas outras funções Java. Tudo que você tem a fazer é baixar os arquivos de origem e link para eles em seu aplicativo Java. Instruções
1
Abra o navegador da Web e navegue até Softpedia para baixar o código fonte JavaSWF2 .
2
Clique no botão azul "Download " e salve o arquivo em seu unidade de disco rígido .
3
direito do mouse no javaswf -CVS -SNAPSHOT - 1.zip arquivar você acabou de baixar e selecione Extrair Aqui para extrair seu conteúdo na mesma pasta . Uma pasta chamada javaswf é criado.
4
Crie um novo arquivo de texto em qualquer lugar no seu disco rígido , o nome dele ReadText.java e pressione " Enter".
5
Copie a pasta com encontrados dentro da pasta bin \\ javaswf na pasta que contém o novo arquivo Java.
6
Abra o arquivo Java em qualquer editor de texto.
7
Insira estas linhas para importar os recursos necessários :
import java.io. *; import java.util * ; com.anotherbigidea.flash.interfaces importação * ; com.anotherbigidea.flash.writers importação * . . . ; com.anotherbigidea.flash.readers importação * ; com.anotherbigidea.flash.structs importação * ;
8
Insira este código para ler o texto a partir do arquivo SWF: . .
public class ExtractText estende SWFTagTypesImpl {protected HashMap fontCodes = new HashMap (); ExtractText pública () { super ( null) ;} public void tagDefineFontInfo (int fontId , String fontName , int flags , int [] códigos ) throws IOException { fontCodes . colocar (new Integer ( fontId ) , códigos ) ;} SWFVectors públicas tagDefineFont2 ( int id , bandeiras int, string nome , int , int NumGlyphs subida, descida int , int líder , int [] códigos, int [] avanços, Rect [] limites, int [] kernCodes1 , int [] kernCodes2 , int [] kernAdjustments ) throws IOException { fontCodes.put ( new Integer (id) , ( codes! = null) códigos : new int [0] ); return null ;} tagDefineTextField public void (int fieldId , String nomeCampo , String initialText , Rect limite, int flags , Alphacolor textColor , alinhamento int, int fontId , int fontSize , int charLimit , int leftMargin , int rightMargin , int recuo, int linespacing ) throws IOException {if ( ! initialText = null) {System.out.println ( initialText );} } public SWFText tagDefineText (int id, limites Rect , matriz Matrix ) throws IOException { return new TextDumper (); } public SWFText tagDefineText2 ( int id, limites Rect , matriz Matrix ) throws IOException { return new TextDumper ();} public class TextDumper implementa SWFText {protected Integer fontId ; protegido Firsty boolean = true; fonte public void (int fontId , int textHeight ) { this.fontId = new Integer ( fontId ) ;} setY public void (int y) {if ( Firsty ) Firsty = false; else System.out.println ( );} texto public void (int [] GlyphIndices , int [] glyphAdvances ) { int [ ] Códigos = (int []) fontCodes.get ( fontId ); if ( códigos == null) { System.out.println ( "\\ n **** Não foi possível encontrar FONT INFO PARA O TEXTO **** \\ n"); retorno; } char [ ] chars = new char [ glyphIndices.length ]; for (int i = 0; i < chars.length ; i + +) {int index = GlyphIndices [ i] ; if ( index > = codes.length ) //Font do sistema { caracteres [i] = ( char) índice ;} ? else { caracteres [i] = (char ) ( códigos [index] );}} System.out.print ( caracteres) ;} public void cor (Color cor ) {} public void setX (int x ) {} public void done ( ) {System.out.println ( );}} void main ( string [ ] args public static ) throws IOException { FileInputStream em = new FileInputStream (args [ ,"0]); extrator ExtractText = new ExtractText (); TagParser parser = new TagParser ( extrator ); leitor SWFReader = new SWFReader ( parser, em ); reader.readFile (); in.close (); }}
9
Salve e feche o arquivo Java.
10
compilar o código Java , coloque o arquivo SWF dentro da mesma pasta e executar o programa Java. Ele vai pedir o nome do arquivo SWF. Digite -o e pressione "Enter" para ler o texto a partir do SWF.