2011-12-08 11 views

Respuesta

0

he utilizado iText en una aplicación java swing - funcionó bien para crear algunos archivos PDF básicos. El código es algo como esto:

@Override public void buildPDF(List<Folder> folders) {   
    Document document = new Document(); 
    String fname = ""; 
    boolean open = false; 
    try { 
      // step 2: 
      // we create a writer that listens to the document 
      // and directs a PDF-stream to a file 
      fname = filename(getName()) + "-" + filename(getDataset().getName()) + ".pdf"; 

      PdfWriter writer = PdfWriter.getInstance(document, 
          new FileOutputStream(fname)); 

      for (int i = 0; i < folders.size(); i++) { 
       // grab the folder 
       LIFolder f = (LIFolder) folders.get(i); 

       if (f == null) continue; 

       open = true; 
       break; 
      } 

      // we have no valid folders 
      if (folders.size() > 0 && !open) { 
       // they selected an empty row 
       javax.swing.JOptionPane.showMessageDialog(null, BUNDLE.getString("report-none-selected"), 
         BUNDLE.getString("report-none-selected-title"), 
         javax.swing.JOptionPane.ERROR_MESSAGE); 
       return; 
      } 

      if (folders.size() == 0) { 
       // get all folders from dataset 
       folders = FolderFinder.findAll(getSession(), getDataset()); 
      } 

      open = false; 
      for (int i = 0; i < folders.size(); i++) { 
       // grab the folder 
       LIFolder f = (LIFolder) folders.get(i); 

       if (f == null) continue; 

       if (!open) { 
        open = true; 
        document.open(); 
       } 

       Paragraph p = new Paragraph(BUNDLE.getString("report-heading-summary-main"), getPageHeadingFont()); 
       p.setAlignment("center"); 
       document.add(p); 
       p = new Paragraph(BUNDLE.getString("report-heading-summary-main-sub"), this.pageHeadingFont1); 
       p.setAlignment("center"); 
       document.add(p); 

       blankLine(document); 
       drawLine(writer); 

       /////////////////////////////////////////////////////////////////////////////////////////////////// 
       // Primary Statement Details 
       ///////////////////////////////////////////////////////////////////////////////////////////////////      
       p = new Paragraph("Primary Statement Details", this.pageHeadingFont2); 
       p.setAlignment("center"); 
       document.add(p); 

       blankLine(document); 
       PdfPTable table = new PdfPTable(4); 

       table.addCell(new BorderlessCell(new Paragraph("Dataset:", getFieldHeadingFont()))); 
       BorderlessCell cell = new BorderlessCell(new Paragraph(getDataset().getName(), getTextFont())); 
       cell.setColspan(3); 
       table.addCell(cell); 

       table.addCell(new BorderlessCell(new Paragraph("Data Entry Clerk:", getFieldHeadingFont()))); 
       cell = new BorderlessCell(new Paragraph(
         (f.getDataEntryClerk() != null ? f.getDataEntryClerk().toDescriptionPathString() : emptyIfNull(null)), 
         getTextFont())); 
       cell.setColspan(3); 
       table.addCell(cell); 

       table.setWidthPercentage(100); 
       cell = new BorderlessCell(new Paragraph("Statement Number:", getFieldHeadingFont())); 
       table.addCell(cell); 
       table.addCell(new BorderlessCell(new Paragraph(f.getReferenceId(), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Statement Date:", getFieldHeadingFont()))); 

       String strDate = ""; 
       java.util.Date date = f.getStatementDate(); 
       if (date != null) { 
        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 
        strDate = formatter.format(date); 
       } 
       table.addCell(new BorderlessCell(new Paragraph(strDate, getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Statement Location:", getFieldHeadingFont()))); 
       cell = new BorderlessCell(new Paragraph(emptyIfNull(f.getTakerLocation()), getTextFont())); 
       cell.setColspan(3); 
       table.addCell(cell); 

       table.addCell(new BorderlessCell(new Paragraph("Statement keywords:", getFieldHeadingFont()))); 
       cell = new BorderlessCell(new Paragraph(emptyIfNull(f.getKeywords()), getTextFont())); 
       cell.setColspan(3); 
       table.addCell(cell); 

       document.add(table); 
       /////////////////////////////////////////////////////////////////////////////////////////////////// 


       /////////////////////////////////////////////////////////////////////////////////////////////////// 
       // Statement Giver's Details 
       ///////////////////////////////////////////////////////////////////////////////////////////////////      
       LIPerson p01 = null; 
       Set<Actor> actors = f.getActors(); 
       Iterator iter = actors.iterator(); 
       while (iter.hasNext()) { 
        Actor actor = (Actor) iter.next(); 
        if (actor instanceof LIPerson) { 
         LIPerson person = (LIPerson) actor; 
         if (person.getReferenceId().toString().equalsIgnoreCase("p01")) { 
          p01 = person; 
          break; 
         } 
        } 
       } 

       blankLine(document); 
       drawLine(writer); 
       p = new Paragraph(new Chunk("Statement Giver's Details", this.pageHeadingFont2)); 
       p.setAlignment("center");       
       document.add(p); 

       java.util.ArrayList giver = new java.util.ArrayList(); 
       if (p01 != null) 
        giver.add(p01); 

       table = new PdfPTable(2); 
       table.setWidthPercentage(100f); 
       table.addCell(new BorderlessCell(new Paragraph("Name of Statement Giver:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(ActorsToString(giver), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Sex:", getFieldHeadingFont()))); 
       if (p01 == null) 
        table.addCell(new BorderlessCell(new Paragraph(emptyIfNull("TBD"), getTextFont()))); 
       else 
        table.addCell(new BorderlessCell(new Paragraph((p01.getSex() != null ? p01.getSex().toString() : ""), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Tribe:", getFieldHeadingFont()))); 
       if (p01 == null) 
        table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(null), getTextFont()))); 
       else 
        table.addCell(new BorderlessCell(
          new Paragraph((p01.getEthnicityOrTribe() != null ? p01.getEthnicityOrTribe().toDescriptionPathString() : emptyIfNull(null)), 
          getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Nationality:", getFieldHeadingFont()))); 
       if (p01 == null) 
        table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(null), getTextFont()))); 
       else 
        table.addCell(new BorderlessCell(
          new Paragraph((p01.getNationality() != null ? p01.getNationality().toDescriptionPathString() : emptyIfNull(null)), 
          getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Marital Status:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(f.getMaritalStatus()), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Education Level:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(f.getEducationLevel()), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("County of Origin:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(f.getCountyOfOrigin()), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Mother's Name:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(f.getMothersName()), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Father's Name:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(f.getFathersName()), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("# of Dependents:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(Integer.toString(f.getNumDependents()), getTextFont()))); 

       table.addCell(new BorderlessCell(new Paragraph("Phone Number:", getFieldHeadingFont()))); 
       table.addCell(new BorderlessCell(new Paragraph(emptyIfNull(f.getPhoneNumber()), getTextFont()))); 

       document.add(table); 

       /////////////////////////////////////////////////////////////////////////////////////////////////// 
       // Summary 
       ///////////////////////////////////////////////////////////////////////////////////////////////////      
       blankLine(document); 
       drawLine(writer); 
       p = new Paragraph(new Chunk("Summary", this.pageHeadingFont2)); 
       p.setAlignment("center");       
       document.add(p); 
       p = new Paragraph(new Chunk(emptyIfNull(f.getSourceSummary()), getTextFont())); 
       document.add(p); 

       /////////////////////////////////////////////////////////////////////////////////////////////////// 
       // Incident(s) 
       ///////////////////////////////////////////////////////////////////////////////////////////////////           
       Set<Act> acts = f.getActs(); 

       if (acts.size() > 0) { 
        // sort them by id 
        Hashtable map = new Hashtable(); 
        Iterator it = acts.iterator(); 
        String[] ids = new String[acts.size()]; 
        int x = 0; 
        while (it.hasNext()) { 
         LIAct act = (LIAct) it.next(); 
         String index = Integer.toString(act.getId()); 
         map.put(index, act); 

         ids[x++] = index; 
        } 
        java.util.Arrays.sort(ids); 

        blankLine(document); 
        drawLine(writer); 
        p = new Paragraph(new Chunk("Act(s)", this.pageHeadingFont2)); 
        p.setAlignment("center");       
        document.add(p); 

        blankLine(document); 
        table = new PdfPTable(4); 
        table.setWidthPercentage(100); 

        for (int y = 0; y < ids.length; y++) { 
         LIAct act = (LIAct) map.get(ids[y]); 

         table.addCell(new BorderlessCell(new Paragraph("Act ID:", getFieldHeadingFont()))); 
         cell = new BorderlessCell(new Paragraph(act.getReferenceId(), getTextFont())); 
         cell.setColspan(3); 
         table.addCell(cell); 

         table.addCell(new BorderlessCell(new Paragraph("Start Date:", getFieldHeadingFont()))); 
         table.addCell(new BorderlessCell(new Paragraph((act.getWhen() != null ? act.getWhen().toString():""), getTextFont()))); 

         table.addCell(new BorderlessCell(new Paragraph("End Date:", getFieldHeadingFont()))); 
         table.addCell(new BorderlessCell(new Paragraph((act.getUntil() != null?act.getUntil().toString():""), getTextFont()))); 

         table.addCell(new BorderlessCell(new Paragraph("Location of act:", getFieldHeadingFont())));        
         p = new Paragraph(emptyIfNull(act.getWhere().toString()), getTextFont()); 
         p.setAlignment(Paragraph.ALIGN_LEFT); 
         cell = new BorderlessCell(p); 
         cell.setColspan(3);        
         table.addCell(cell); 

         table.addCell(new BorderlessCell(new Paragraph("Precise Location:", getFieldHeadingFont())));        
         p = new Paragraph(emptyIfNull(act.getPreciseLocation()), getTextFont()); 
         p.setAlignment(Paragraph.ALIGN_LEFT); 
         cell = new BorderlessCell(p); 
         cell.setColspan(3);        
         table.addCell(cell); 

         table.addCell(new BorderlessCell(new Paragraph("Violation:", getFieldHeadingFont())));        
         p = new Paragraph(emptyIfNull(act.getViolation().toDescriptionPathString()), getTextFont()); 
         p.setAlignment(Paragraph.ALIGN_LEFT); 
         cell = new BorderlessCell(p); 
         cell.setColspan(3);        
         table.addCell(cell); 

         table.addCell(new BorderlessCell(new Paragraph("Description:", getFieldHeadingFont())));           
         p = new Paragraph(emptyIfNull(act.getDescriptionLocation()), getTextFont()); 
         p.setAlignment(Paragraph.ALIGN_LEFT); 
         cell = new BorderlessCell(p); 
         cell.setColspan(3);        
         table.addCell(cell); 

         // add empty cell 
         cell = new BorderlessCell(new Paragraph("")); 
         cell.setColspan(4); 
         table.addCell(cell);        
         cell = new BorderlessCell(new Paragraph("")); 
         cell.setColspan(4); 
         table.addCell(cell);        
        } 

        document.add(table); 
       }      

       ///////////////////////////////////////////////////////////////////////////////////////////////// 
       // Victims 
       ///////////////////////////////////////////////////////////////////////////////////////////////// 
       List<Actor> victims = this.getAllVictims(f); 

       if (!victims.isEmpty()) { 
        blankLine(document); 
        drawLine(writer); 
        String strVictims = ActorsToString(victims); 
        p = new Paragraph(new Chunk("Victim(s)", this.pageHeadingFont2)); 
        p.setAlignment("center");       
        document.add(p); 

        p = new Paragraph(new Chunk("Name(s) of Victim(s): ", getFieldHeadingFont())); 
        p.add(new Chunk(strVictims, getTextFont())); 
        document.add(p); 

        String gender = ActorsToGender(victims); 
        p = new Paragraph(new Chunk("Gender: ", getFieldHeadingFont())); 
        p.add(new Chunk(gender, getTextFont())); 
        document.add(p); 
       } 

       ///////////////////////////////////////////////////////////////////////////////////////////////// 

       ///////////////////////////////////////////////////////////////////////////////////////////////// 
       // Perps 
       ///////////////////////////////////////////////////////////////////////////////////////////////// 
       List<Actor> perps = this.getAllPerpetrators(f); 
       if (!perps.isEmpty()) { 
        blankLine(document); 
        drawLine(writer); 
        p = new Paragraph(new Chunk("Perpetrator(s)", this.pageHeadingFont2)); 
        p.setAlignment("center");       
        document.add(p); 

        String strPerps = ActorsToString(perps); 
        p = new Paragraph(new Chunk("Name(s) of alleged perpetrator(s): ", getFieldHeadingFont())); 
        p.add(new Chunk(strPerps, getTextFont())); 
        document.add(p); 
       } 
       ///////////////////////////////////////////////////////////////////////////////////////////////// 

       document.newPage(); 
      } 

    } catch (DocumentException de) { 
      System.err.println(de.getMessage()); 
    } catch (java.io.IOException ioe) { 
      System.err.println(ioe.getMessage()); 
    } 

    // step 5: we close the document 
    if (open) { 
     document.close(); 

     if (!fname.equals("")) { 
      // launch it 
      Reports.LaunchPDF(fname);   
     } 
    }   

} 

Si necesita más información, hágamelo saber. ¡Buena suerte!

+0

Hola Tarrant, quiero crear un archivo PDF en la aplicación de Android no en java swing. – Khushwant

+0

Estoy usando un código simple para crear un archivo pdf en mi tarjeta SD usando la biblioteca iText pdf, pero está dando los siguientes errores. ** 1. ** No se pudo encontrar la clase 'com.itextpdf.text.pdf.PdfGraphics2D', hace referencia desde com.itextpdf.text.pdf.PdfContentByte.createGraphics método 2 **. ** No se pudo encontrar clase 'com.itextpdf.text.pdf.PdfPrinterGraphics2D', referenciado desde el método com.itextpdf.text.pdf.PdfContentByte.createPrinterGraphics ** 3. ERROR/dalvikvm (309) **: No se pudo encontrar la clase 'org.bouncycastle.cms.CMSEnvelopedData', hace referencia a método com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj – Khushwant

+1

estoy suponiendo que haya agregado la biblioteca a su proyecto. Creo que es posible que necesite ejecutar dx (en sdk para Android) en el archivo jar, a menos que esté usando Eclipse. Dx se usa para convertir archivos de clase en un archivo jar no Android en archivos dex para que puedan ser encontrados/usados ​​en el dispositivo. – tarrant

7

Puede usar iText para crear archivos PDF. Utilice la última versión (5.1.3) e incluya solo el itextpdf-5.1.3.jar en la ruta de compilación. Puede usar algo como esto para lograr la creación de pdf.

Document document = new Document(); 
file = Environment.getExternalStorageDirectory().getPath() + "/Hello.pdf" 
PdfWriter.getInstance(document,new FileOutputStream(file)); 
document.open(); 
Paragraph p = new Paragraph("Hello PDF"); 
document.add(p); 
document.close(); 

Además, no olvide utilizar el permiso para escribir en el almacenamiento externo en el archivo manifest.xml.

+0

obteniendo error aquí ..... PdfWriter.getInstance (documento, nuevo FileOutputStream (archivo)); dime las posibles solución – GvSharma

+1

La gente aquí puede ayudar mejor si usted pone el error. Y la votación negativa solo porque una solución no funcionó para usted no es el camino a seguir. Dedique un tiempo a aprender el código de conducta antes de publicar algo. Además, nadie te guiará por una solución sin haber intentado depurarla al menos un poco por tu cuenta. – arTsmarT

1

Ésta es mi codificación de ejemplo para la creación de archivos PDF con el texto y la imagen contenido usando la biblioteca iText y almacenar el archivo PDF en la ubicación de almacenamiento externo . Lo único es que debe descargar la biblioteca de itext y agregarla a su proyecto.

private void createPdf() { 
       // TODO Auto-generated method stub 
       com.itextpdf.text.Document document = new com.itextpdf.text.Document(); 

       try { 
         String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/vindroid"; 

         File dir = new File(path); 
          if(!dir.exists()) 
           dir.mkdirs(); 

         Log.d("PDFCreator", "PDF Path: " + path); 


         File file = new File(dir, "sample.pdf"); 
         FileOutputStream fOut = new FileOutputStream(file); 

         PdfWriter.getInstance(document, fOut); 

         //open the document 
         document.open(); 


         Paragraph p1 = new Paragraph("Sample PDF CREATION USING IText"); 
         Font paraFont= new Font(Font.FontFamily.COURIER); 
         p1.setAlignment(Paragraph.ALIGN_CENTER); 
         p1.setFont(paraFont); 

         //add paragraph to document  
         document.add(p1); 

         Paragraph p2 = new Paragraph("This is an example of a simple paragraph"); 
         Font paraFont2= new Font(Font.FontFamily.COURIER,14.0f,0, CMYKColor.GREEN); 
         p2.setAlignment(Paragraph.ALIGN_CENTER); 
         p2.setFont(paraFont2); 

         document.add(p2); 

         ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
         Bitmap bitmap = BitmapFactory.decodeResource(getBaseContext().getResources(), R.drawable.ic_launcher); 
         bitmap.compress(Bitmap.CompressFormat.JPEG, 100 , stream); 
         Image myImg = Image.getInstance(stream.toByteArray()); 
         myImg.setAlignment(Image.MIDDLE); 

         //add image to document 
         document.add(myImg); 




       } catch (DocumentException de) { 
         Log.e("PDFCreator", "DocumentException:" + de); 
       } catch (IOException e) { 
         Log.e("PDFCreator", "ioException:" + e); 
       } 
       finally 
       { 
         document.close(); 
       } 

      }  
0
package com.cete.androidexamples.dynamicpdf.helloworld; 

import com.cete.dynamicpdf.*; 
import com.cete.dynamicpdf.pageelements.Label; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Environment; 
import android.widget.Toast; 

public class DynamicPDFHelloWorld extends Activity { 
    private static String FILE = Environment.getExternalStorageDirectory() 
      + "/HelloWorld.pdf"; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     // Create a document and set it's properties 
     Document objDocument = new Document(); 
     objDocument.setCreator("DynamicPDFHelloWorld.java"); 
     objDocument.setAuthor("Your Name"); 
     objDocument.setTitle("Hello World"); 

     // Create a page to add to the document 
     Page objPage = new Page(PageSize.LETTER, PageOrientation.PORTRAIT, 
       54.0f); 

     // Create a Label to add to the page 
     String strText = "Hello World...\nFrom DynamicPDF™ Generator " 
       + "for Java\nDynamicPDF.com"; 
     Label objLabel = new Label(strText, 0, 0, 504, 100, 
       Font.getHelvetica(), 18, TextAlign.CENTER); 

     // Add label to page 
     objPage.getElements().add(objLabel); 

     // Add page to document 
     objDocument.getPages().add(objPage); 

     try { 
      // Outputs the document to file 
      objDocument.draw(FILE); 
      Toast.makeText(this, "File has been written to :" + FILE, 
        Toast.LENGTH_LONG).show(); 
     } catch (Exception e) { 
      Toast.makeText(this, 
        "Error, unable to write to file\n" + e.getMessage(), 
        Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

añadir DynamicPDF a archivos libs puede downloade desde link

5

Es fácil, por ejemplo

Here el Código en mi reporsitory

gradle.build

compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.madgag:scpkix-jdk15on:1.47.0.1' 
compile 'com.itextpdf:itextpdf:5.0.6' 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.hackro.itext.MainActivity"> 

    <Button 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/btnwrite" 
     android:text="PDF" 
     android:onClick="GeneratePDF" 
     /> 
    </RelativeLayout> 

MainActivity.java

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 
import com.itextpdf.text.pdf.BaseFont; 
import java.io.File; 

public class MainActivity extends Activity { 

    private static final String LOG_TAG = "GeneratePDF"; 


    private BaseFont bfBold; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 



    } 


    public void GeneratePDF(View view) 
    { 
     // TODO Auto-generated method stub 
     String filename = "david"; 
     String filecontent = "Contenido"; 
     Metodos fop = new Metodos(); 
     if (fop.write(filename, filecontent)) { 
      Toast.makeText(getApplicationContext(), 
        filename + ".pdf created", Toast.LENGTH_SHORT) 
        .show(); 
     } else { 
      Toast.makeText(getApplicationContext(), "I/O error", 
        Toast.LENGTH_SHORT).show(); 
     } 
    } 

    } 

Metodos.java

import android.util.Log; 

    import com.itextpdf.text.BaseColor; 
    import com.itextpdf.text.Document; 
    import com.itextpdf.text.DocumentException; 
    import com.itextpdf.text.Element; 
    import com.itextpdf.text.Font; 
    import com.itextpdf.text.Paragraph; 
    import com.itextpdf.text.Phrase; 
    import com.itextpdf.text.pdf.PdfPCell; 
    import com.itextpdf.text.pdf.PdfPTable; 
    import com.itextpdf.text.pdf.PdfWriter; 

    import java.io.File; 
    import java.io.FileOutputStream; 
    import java.io.IOException; 

    /** 
    * Created by hackro on 24/11/15. 
    */ 
    public class Metodos { 


     public Boolean write(String fname, String fcontent) { 
      try { 
       String fpath = "/sdcard/" + fname + ".pdf"; 
       File file = new File(fpath); 

       if (!file.exists()) { 
        file.createNewFile(); 
       } 

       Font bfBold12 = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD, new BaseColor(0, 0, 0)); 
       Font bf12 = new Font(Font.FontFamily.TIMES_ROMAN, 12); 


       Document document = new Document(); 

       PdfWriter.getInstance(document, 
         new FileOutputStream(file.getAbsoluteFile())); 
       document.open(); 

       document.add(new Paragraph("Sigueme en Twitter!")); 

       document.add(new Paragraph("@DavidHackro")); 
       document.close(); 

       return true; 
      } catch (IOException e) { 
       e.printStackTrace(); 
       return false; 
      } catch (DocumentException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       return false; 
      } 
     }} 

Resultado

buena suerte

+2

iTextpdf v5.0.6 aparece como la dependencia. Tengo dos problemas con eso. 1. 5.0.6 es increíblemente viejo. Apegarse a las versiones más nuevas para nuevas aplicaciones. 2. Está utilizando iText Java y no iTextG (puerto de Android). El puerto de Android tiene algunas modificaciones menores. Por nombrar algunos: excluye el uso de la API que no está en la API de Android (java.awt) y la prevención del conflicto del espacio de nombres (BouncyCastle). –

+0

sí, estoy construyendo el segundo ejemplo usando iTextG;) –

Cuestiones relacionadas