2011-04-20 81 views
0

我想通过我的应用程序创建一个PDF文件,并希望通过电子邮件发送PDF文件作为附件。 Android可能吗?如果是,请显示如何。是否可以在Android中将文本转换为PDF?

+0

@simplepi如果/当你编辑帖子请花时间来解决所有的问题,而不仅仅是微不足道的问题。 – Flexo 2014-03-23 09:51:54

回答

8

下面是代码

Document doc = new Document(); 
    PdfWriter.getInstance(doc, new FileOutputStream("urgentz.pdf")); 
    doc.open(); 
    Image image = Image.getInstance ("urgentzImageahslkdhaosd.jpg"); 
    doc.add(new Paragraph("Your text blah bleh")); 
    doc.add(image);    
    doc.close(); 

使用iText库与你的Android项目

+1

嘿它显示我错误行“图像= Image.getInstance(”urgentzImageahslkdhaosd.jpg“);”显示配置路径 – 2011-04-22 06:03:54

+0

你做了这个 – GvSharma 2014-05-14 07:36:32

1

它是如此简单的创建PDF

首先下载droidText.0.2.jar并添加gradle这个文件,如果您使用的是Android的工作室libs文件夹。然后写这个代码为PDF

public void createPDF() { 
     Document doc = new Document(); 


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

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

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

      //This is for random name 
      number = new ArrayList<Integer>(); 
      for (int i = 1; i <= 10; ++i) number.add(i); 
      Collections.shuffle(number); 

      File file = new File(dir, "Document" + number + ".pdf"); 
      FileOutputStream fOut = new FileOutputStream(file); 
      PdfWriter.getInstance(doc, fOut); 

      //open the document 
      doc.open(); 

      Paragraph p1 = new Paragraph("TENANTS : " + tenants.getText().toString()); 
      Font paraFont = new Font(Font.COURIER); 
      p1.setAlignment(Paragraph.ALIGN_CENTER); 
      p1.setFont(paraFont); 

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

      Paragraph p2 = new Paragraph("OFFFER NUMBER : " + offer_number.getText().toString()); 
      Font paraFont2 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p2.setAlignment(Paragraph.ALIGN_CENTER); 
      p2.setFont(paraFont2); 

      doc.add(p2); 

      Paragraph p3 = new Paragraph("OFFFER NUMBER : " + offer_number.getText().toString()); 
      Font paraFont3 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p3.setAlignment(Paragraph.ALIGN_CENTER); 
      p3.setFont(paraFont2); 

      doc.add(p3); 

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

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

      //set footer 
      Phrase footerText = new Phrase("ADUREC DOCUMENT"); 
      HeaderFooter pdfFooter = new HeaderFooter(footerText, true); 
      doc.setFooter(pdfFooter); 

//   Toast.makeText(getApplicationContext(), "success pdf", Toast 
//     .LENGTH_LONG).show(); 

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

    } 
相关问题