Esta vez utilice el IDE netBeans para compilar y ejecutar el programa, aun así se darán cuenta que el código sigue siendo desde cero.
Bueno suponiendo que ya han trabajado con este IDE y ya hicieron su proyecto solo resta lo que muchos se les complica, integrar esta nueva API al mismo, ¿como? muy bien pues lo que deben hacer es lo siguiente:
- Descargar el API (iText) en el siguiente enlace : (API iText).
- Sugiero que guardes el archivo jar en una carpeta dentro del mismo proyecto, para que sea mas portable.
- Después lo que tienes que hacer es agregar ese archivo jar como se muestra a continuación
- Listo, ya agregado ahora si podremos trabajar con nuestro proyecto.
La salida del programa se vería algo así:
Lo que nos permite hacer este programa es insertar texto, tiene métodos que permiten copiar, cortar y pegar texto (solo en el archivo), permite guardar el archivo en PDF, no es mucho lo que se aprovecha en este programa con iText, pero de ahí pueden empezar y mejorar mas cosas a su gusto.
A continuación se muestra el código fuente:
import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileNotFoundException; import java.io.FileOutputStream; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; public class PDF extends JFrame implements ActionListener{ public static String cadena; public static String textoSelecionado; private JButton botonCrear = new JButton("Guardar"); private JButton botonSalir = new JButton("Salir"); private JTextArea area = new JTextArea(); private JPanel panel = new JPanel(); public FileOutputStream archivo; public Document documento; private JMenuBar barra = new JMenuBar(); private JMenu menu = new JMenu("Archivo"); private JMenu menuEdicion = new JMenu("Edicion"); private JMenuItem item[] = new JMenuItem[5]; public PDF(){ initComponents(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); setTitle("NIMADRES"); setBounds(150,100,500,400); } public final void initComponents(){ item[0] = new JMenuItem("Guardar"); item[1] = new JMenuItem("Salir"); item[2] = new JMenuItem("Copiar"); item[3] = new JMenuItem("Cortar"); item[4] = new JMenuItem("Pegar"); menu.add(item[0]); menu.add(item[1]); barra.add(menu); menuEdicion.add(item[2]); menuEdicion.add(item[3]); menuEdicion.add(item[4]); barra.add(menuEdicion); add(barra,BorderLayout.NORTH); panel.setLayout(new FlowLayout()); panel.add(botonCrear); panel.add(botonSalir); add(new JScrollPane(area),BorderLayout.CENTER); add(panel, BorderLayout.SOUTH); botonCrear.addActionListener(this); botonSalir.addActionListener(this); item[0].addActionListener(this); item[1].addActionListener(this); item[2].addActionListener(this); item[3].addActionListener(this); item[4].addActionListener(this); area.setLineWrap(true); area.setWrapStyleWord(true); } @Override public void actionPerformed(ActionEvent e){ if(e.getSource().equals(botonCrear)|| e.getSource().equals(item[0])){ cadena = area.getText(); if (cadena.length() != 0){ String titulo = JOptionPane.showInputDialog("Nombre del Archivo:"); if(titulo.length() == 0) titulo = "newfile"; try { archivo = new FileOutputStream(titulo + ".pdf"); documento = new Document(); PdfWriter.getInstance(documento, archivo); documento.open(); documento.add(new Paragraph(cadena)); documento.close(); } catch (FileNotFoundException | DocumentException f) {} } } if(e.getSource().equals(botonSalir)|| e.getSource().equals(item[1])){ System.exit(0); } if(e.getSource().equals(item[2])){ textoSelecionado = area.getSelectedText(); } if(e.getSource().equals(item[3])){ try { textoSelecionado = area.getSelectedText(); String cadenaCortada = area.getText (0,area.getSelectionStart()); cadenaCortada += area.getText(area.getSelectionEnd(), area.getText().length() - area.getText(0, area.getSelectionEnd()).length()); area.setText(cadenaCortada); } catch (BadLocationException ex) { System.out.println("Error"+ex); textoSelecionado = ""; } } if(e.getSource().equals(item[4])){ String texto = textoSelecionado; if(area.getText().length() != 0) textoSelecionado += area.getText(); area.setText(textoSelecionado); textoSelecionado = texto; } } }Si tienen dudas con este programa pueden comentar.
No hay comentarios:
Publicar un comentario