2011-12-08 59 views

Trả lời

0

Tôi đã sử dụng iText trong ứng dụng java swing - nó hoạt động tốt để tạo một số tệp PDF cơ bản. Mã đi như sau:

@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);   
     } 
    }   

} 

Nếu bạn cần thêm thông tin, hãy cho tôi biết. Chúc may mắn!

+0

Hi Tarrant, tôi muốn tạo một tập tin PDF trong ứng dụng Android không phải trong java swing. – Khushwant

+0

Tôi đang sử dụng mã đơn giản để tạo một tập tin pdf trong thẻ sd của tôi bằng cách sử dụng thư viện pdf iText, nhưng nó đưa ra các lỗi sau. ** 1. ** Không thể tìm thấy lớp 'com.itextpdf.text.pdf.PdfGraphics2D', được tham chiếu từ phương thức com.itextpdf.text.pdf.PdfContentByte.createGraphics ** 2. ** Không thể tìm thấy lớp 'com.itextpdf.text.pdf.PdfPrinterGraphics2D', được tham chiếu từ phương thức com.itextpdf.text.pdf.PdfContentByte.createPrinterGraphics ** 3. ERROR/dalvikvm (309) **: Không thể tìm thấy lớp 'org.bouncycastle.cms.CMSEnvelopedData', được tham chiếu từ phương thức com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj – Khushwant

+1

Tôi giả sử bạn đã thêm thư viện vào dự án. Tôi nghĩ rằng bạn có thể cần phải chạy dx (trong sdk android) trên tập tin jar kể từ khi trừ khi bạn đang sử dụng Eclipse? Dx được sử dụng để biến các tệp lớp trong một jar không phải là android thành các tệp dex để chúng có thể được tìm thấy/sử dụng trên thiết bị. – tarrant

7

Bạn có thể sử dụng iText để tạo tệp PDF. Sử dụng phiên bản mới nhất (5.1.3) và chỉ bao gồm itextpdf-5.1.3.jar trong đường dẫn xây dựng. Bạn có thể sử dụng một cái gì đó như thế này để hoàn thành việc tạo 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(); 

Ngoài ra, đừng quên sử dụng quyền ghi vào bộ nhớ ngoài trong tệp manifest.xml.

+0

nhận lỗi ở đây ..... PdfWriter.getInstance (tài liệu, FileOutputStream mới (tệp)); cho tôi biết giải pháp khả thi – GvSharma

+1

Mọi người ở đây có thể giúp bạn tốt hơn nếu bạn đăng lỗi. Và downvoting chỉ vì một giải pháp đã không làm việc cho bạn không phải là con đường để đi. Vui lòng dành chút thời gian tìm hiểu quy tắc ứng xử trước khi bạn đăng nội dung nào đó. Ngoài ra không ai sẽ hướng dẫn bạn qua một giải pháp mà không cần phải cố gắng gỡ lỗi ít nhất một chút. – arTsmarT

1

Đây là mã hóa mẫu của tôi để tạo file pdf với các văn bản và hình ảnh nội dung sử dụng thư viện iText và để lưu trữ các tập tin pdf trong bên ngoài lưu trữ địa điểm. Điều duy nhất là bạn cần phải tải về thư viện itext và thêm nó vào dự án của bạn.

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(); 
     } 
    } 
} 

thêm DynamicPDF đến file libs bạn có thể downloade nó từ link

5

Đó là dễ dàng, Ví dụ

Here Bộ luật trong reporsitory tôi

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; 
      } 
     }} 

quả

Good Luck

+2

iTextpdf v5.0.6 được liệt kê là phụ thuộc. Tôi có hai vấn đề với điều đó. 1. 5.0.6 là điên rồ cũ. Gắn vào các phiên bản mới hơn cho các ứng dụng mới. 2. Bạn đang sử dụng iText Java chứ không phải iTextG (cổng Android). Cổng Android có một vài sửa đổi nhỏ. Để đặt tên một vài: loại trừ việc sử dụng API không có trong API Android (java.awt) và ngăn chặn xung đột không gian tên (BouncyCastle). –

+0

yea, tôi đang xây dựng ví dụ thứ hai sử dụng iTextG;) –

Các vấn đề liên quan