该方法getInstance(byte []的)是未定义的类型的文件..安卓 [英] The method getInstance(byte[]) is undefined for the type Document.. Android

查看:1607
本文介绍了该方法getInstance(byte []的)是未定义的类型的文件..安卓的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的生成PDF droidText liberary

I am generating pdf using droidText liberary

我有以下的code

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

}  

它的工作原理..但是当我使用下列行添加图片到它,它说:该方法getInstance(byte []的)是不确定的该类型文件

it works.. but when I add Image to it using following lines, it says "The method getInstance(byte[]) is undefined for the type 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);

帮助我将图像添加到文档

help me in adding images to the document

推荐答案

Document.java ,那类没有一个getInstance方法。 你想 Image.getInstance 按本的StackOverflow问题

As per Document.java, that class doesn't have a getInstance method. You want Image.getInstance as per this StackOverflow question,

例如。

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

这是不是一个重复的问题,但确实有这回答了你的发言回答帮我在将图像添加到文档

which isn't a duplicate question but does have an answer which answers your statement of "help me in adding images to the document"

这篇关于该方法getInstance(byte []的)是未定义的类型的文件..安卓的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆