¿Cómo utilizar Java para llamar a documentos con códigos de barras diseñados con codesoft?
Mostrar;
importar org.eclipse.swt.widgets.Display;
importar org.eclipse.swt.widgets.Shell;
importar com.lppx2. OleDispatch;
clase pública ActiveXPrinter extiende Composite{
OleFrame privado myFrame = nuevo OleFrame(this, SWT.NONE);
// Microsoft Internet Explorer ProgID. Shell.Explorer.2
// Codesoft ProgID: Lppx2.Application
cadena privada progId = "Lppx2.Application";
controlSite privado OleControlSite; p>
automatización OleAutomation privada;;
appActiveDoc OleDispatch privada;
appDocs OleDispatch privada
archivo currentFile;
público; ActiveXPrinter(padre compuesto, estilo int) {
super(padre, estilo);
myFrame = new OleFrame(this, SWT.NONE); p>
p>
try{
Documentos variantes = (nuevo OleDispatch(automatización)).Invoke("Documentos",nueva variante[0]);
appDocs = new OleDispatch( documents.getAutomation());
if (!currentFile.canRead() ){
System.out.println("No se puede leer el archivo: " + archivoactual);
p>
} else {
Archivo variante[] = nueva variante[1];
archivo[0] = nueva variante (currentFile.getAbsolutePath());
p>if ( appDocs.OleDispatch(documents.getAututomatic()));
if ( appDocs.OleDispatch(document.getAutomatic()) );
if ( appDocs .OleDispatch(document.getAutomatic()))Invoke("Abrir", archivo) ! = null) {
System.out.println(currentFile. getAbsolutePath() + "Abierto");
p>
} else {
System.out.println("No se puede abrir " + curre
ntFile.getAbsolutePath());
}
Variante activeDocumentV = (nuevo OleDispatch(automatización)).Invoke(
"ActiveDocument" , nueva variante[0 ]);
intente {
appActiveDoc = new OleDispatch(activeDocumentV.getAutomation());
} catch (excepto excepción) {
}
Variante[] cantidad = nueva Variante[1];
cantidad[0] = nueva Variante(1);
if (appActiveDoc.Invoke("PrintDocument ", cantidad) ! = null)
System.out.println("Imprimir OK");
else {
System.out.println(" No se puede imprimir ") ;
}
}
}catch(Exception excpt) {
System.out.println( "¡No puede imprimir nada hasta que se abra un documento!") ;
excpt.printStackTrace();
return;
}
}
public static void main(String[] args) {
Pantalla display = Display.getDefault()
Shell shell = new Shell (pantalla);
new ActiveXPrinter(shell, 0).print("C:\Document1.Lab");
while ( !shell.isDisposed()) { p>
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
display.dispose();
}
}