我正在使用 droidText 库生成 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);
Run Code Online (Sandbox Code Playgroud)
//
//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();
}
}
Run Code Online (Sandbox Code Playgroud)
它有效..但是当我使用以下几行将 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);
Run Code Online (Sandbox Code Playgroud)
帮我在文档中添加图像
根据Document.java,该类没有 getInstance 方法。你想要Image.getInstance按照这个StackOverflow 问题,
例如
Image myImg = Image.getInstance(stream.toByteArray());
doc.add(myImg);
Run Code Online (Sandbox Code Playgroud)
这不是重复的问题,但确实有一个答案可以回答您的“帮助我将图像添加到文档中”的陈述
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |