GARANTIR DESCONTO

Fórum Abrir um arquivo pdf em java #566918

09/04/2009

0

Bom dia a todos, tudo bem? Estou procurando aqui no javafree e não estou achando, o que eu queria é o seguinte, tenho um Manual.pdf (usei o latex) e quero quando eu clicar no botão abrir esse Manual.pdf com o visualizador padrão do sistema operacional. Obrigado
Fabio Volpe

Fabio Volpe

Responder

Posts

09/04/2009

Fabio Volpe

eu naum sei se eh bem isso q vc ker mais dah pra executar no command tipo com
Runtime.getRuntime().exec(//aki vc digita o codigo que voce usaria no prompot);
no windows eu nunca fiz isso mas no linux eu sei que dah
Responder

Gostei + 0

09/04/2009

Fabio Volpe

Tem um projeto da sun que se chama: pdf-renderer, nele dá pra abrir um pdf no swing. O link do projeto: https://pdf-renderer.dev.java.net/ É só fazer o download da lib e colocar no seu projeto, depois utilizar o seguinte código:
package pdfpaneltest;

import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;
import com.sun.pdfview.PagePanel;
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import javax.swing.*;

/**
 * An example of using the PagePanel class to show PDFs. For more advanced
 * usage including navigation and zooming, look ad the 
 * com.sun.pdfview.PDFViewer class.
 *
 * @author joshua.marinacci@sun.com
 */
public class Main {

    public static void setup() throws IOException {
    
        //set up the frame and panel
        JFrame frame = new JFrame("PDF Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        PagePanel panel = new PagePanel();
        frame.add(panel);
        frame.pack();
        frame.setVisible(true);

        //load a pdf from a byte buffer
        File file = new File("test.pdf");
        RandomAccessFile raf = new RandomAccessFile(file, "r");
        FileChannel channel = raf.getChannel();
        ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY,
            0, channel.size());
        PDFFile pdffile = new PDFFile(buf);

        // show the first page
        PDFPage page = pdffile.getPage(0);
        panel.showPage(page);
        
    }

    public static void main(final String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    Main.setup();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        });
    }
}
Esse e outros exemplos vc encontra no link: https://pdf-renderer.dev.java.net/examples.html Até mais
Responder

Gostei + 0

09/04/2009

Carlos H

Oi, se for para usar o "visualizador padrão do sistema operacional" aconselho o uso do java.awt.[b]Desktop[/b] (só a partir do JDK 1.6) Fica mais ou menos assim
File pdf = new File("arquivo.pdf");
try {
  Desktop.getDesktop().open(pdf);
} catch(Exception ex) {
  ex.printStackTrace();
  JOptionPane.showMessageDialog(null, "Erro no Desktop: " + ex);
}
Responder

Gostei + 0

03/04/2012

Ramiro Pamponet

Olá Pessoal, tentei abrir meus arquivos PDF utilizando as duas sugestões (PDF-Render e Java.awt.Desktop) Mas não obtive sucesso. Meus arquivos estão salvos na mesma pasta do programa, logo (imagino eu) não se faz necessário utilizar o caminho inteiro "C:\...\...\ficha.pdf". O que está faltando???? Alguém pode me ajudar???? Obrigado!!!!
Responder

Gostei + 0

28/08/2013

Fabio Volpe

Obrigada pelo post do codigo cfh. Abre qualquer arquivo. Muito obrigada!! ;)
String caminho = txtSalvoem.getText();
        File arquivo = new File(caminho);
        try {
            Desktop.getDesktop().open(arquivo);
        } catch (Exception ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, ex,  "ERRO",JOptionPane.ERROR_MESSAGE);

        }
Responder

Gostei + 0

28/08/2013

Ramiro Pamponet

E para implementar o assunto, as vezes pode ser util para alguém.
JFileChooser arquivo = new JFileChooser();//instancia da classe JFileChooser
        String caminhoArquivo = "";
        int retorno = arquivo.showOpenDialog(null);//variavel recebendo o caminho escolhido por vc
        if (retorno == JFileChooser.APPROVE_OPTION) {
            caminhoArquivo = arquivo.getSelectedFile().getAbsolutePath();
            txtSalvoem.setText("" + caminhoArquivo);//campo recebendo o caminho do arquivo
        } else {
//não abriu
        }
Aqui é para abrir qualquer arquivo que o cfh ensinou:
String caminho = txtSalvoem.getText();
        File arquivo = new File(caminho);
        try {
            Desktop.getDesktop().open(arquivo);
        } catch (Exception ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, ex,  "ERRO",JOptionPane.ERROR_MESSAGE);

        }
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar