对于Document .. Android类型,方法getInstance(byte [])是未定义的

时间:2014-03-24 12:02:33

标签: android pdf

我使用droidText liberary生成pdf

我有以下代码

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


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

            File dir = new File(path);
                if(!dir.exists()){
                     System.out.println("directory not exists");
                     dir.mkdirs();
             }else{
                 System.out.println("directory exirsts");
             }
             System.out.println("path="+path);

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


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

            PdfWriter.getInstance(doc, fOut);

            //open the document
            doc.open();


            Paragraph p1 = new Paragraph("Hi! I am generating my first PDF using DroidText");
            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("This is an example of a simple paragraph");
             Font paraFont2= new Font(Font.COURIER,14.0f,Color.GREEN);
             p2.setAlignment(Paragraph.ALIGN_CENTER);
             p2.setFont(paraFont2);

             doc.add(p2);

//

             //set footer
             Phrase footerText = new Phrase("This is an example of a footer");
             HeaderFooter pdfFooter = new HeaderFooter(footerText, false);
             doc.setFooter(pdfFooter);




             Intent intent = new Intent(Intent.ACTION_VIEW);
             intent.setDataAndType(Uri.fromFile(file),"application/pdf");
             intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
             startActivity(intent);

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

}  

它有效..但是当我使用以下行向它添加Image时,它表示"方法getInstance(byte [])未定义类型Document"

   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
             doc.add(myImg);

帮助我将图像添加到文档中

1 个答案:

答案 0 :(得分:3)

根据Document.java,该类没有getInstance方法。 根据此Image.getInstance

,您需要StackOverflow question

E.g。

Image myImg = Image.getInstance(stream.toByteArray());
doc.add(myImg);

这不是一个重复的问题,但确实有一个答案可以回答你的陈述,并帮助我在文档中添加图像"