- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 android 的新手,我正在尝试在 android 中将位图转换为 Pdf。我正在使用 itextpdf 5.5.4 jar 文件。我使用的代码如下:
import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfWriter;
public void savePhotoPDF()
{
String currentTimestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),"CameraApp");
File picPDF = new File(dir.getPath()+File.separator+"IMG_"+currentTimestamp+".pdf");
//File picPDF = new File(dir.getPath(),"abcd.pdf");
Document document = new Document();
try
{
PdfWriter.getInstance(document, new FileOutputStream(picPDF));
document.open();
addImage(document);
document.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
//private static void addImage(Document document)
private void addImage(Document document)
{
try
{
ByteArrayOutputStream stream = new ByteArrayOutputStream();
clickedPhoto.compress(Bitmap.CompressFormat.PNG, 100, stream);
bArray = stream.toByteArray();
image = Image.getInstance(bArray); ///Here i set byte array..you can do bitmap to byte array and set in image...
}
catch (BadElementException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch(Exception ex)
{
}
// image.scaleAbsolute(150f, 150f);
try
{
document.add(image);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
在上面的代码中,clickedPhoto 只是一个位图类型,定义为:
clickedPhoto = BitmapFactory.decodeByteArray(bytes,0,bytes.length);
我已经在 app gradle 中编译了 itextpdf 库:
compile 'com.itextpdf:itextpdf:5.5.6'
但我不知道为什么,但 pdf 格式的图像(位图:clickedPhoto)没有保存在给定位置,在 android 监视器中我可以看到:
10-11 18:54:53.154 24531-24531/com.example.abhisheksirohi.myapplication I/art: Rejecting re-init on previously-failed class java.lang.Class<com.itextpdf.awt.PdfGraphics2D>
10-11 18:54:53.158 24531-24531/com.example.abhisheksirohi.myapplication I/art: Rejecting re-init on previously-failed class java.lang.Class<com.itextpdf.awt.PdfPrinterGraphics2D>
如果有人能帮我解决这个异常,我会很高兴。谢谢!!
最佳答案
您正在 Android 上进行开发。这意味着您需要 iText 的 Android 端口,称为 iTextG。 iTextG 与 iText 相同(相同的代码库),除了使用 AWT 的任何东西和其他一些在 Android 上不可用的东西。
您可以在 iText 网站上找到 iTextG:http://developers.itextpdf.com/itextg-android
您可以使用 Gradle,或从 Github 上的发布页面下载 jar:https://github.com/itext/itextpdf/releases/latest (使用 itextg zip)。截至 2016 年 10 月,最新版本为 5.5.10。
请不要从 SourceForge 下载! SourceForge 已过时,iText 软件不再使用它。这是因为 SourceForge 不再值得信赖。 There have been incidents where SourceForge injected spyware into the installers of other software.虽然 iText 尚未发生这种情况(并且由于我们软件的性质,不太可能发生),但我们不能宽恕这些行为,我们告诉所有用户和客户避免使用 SourceForge。
关于java - itextPdf 的问题,拒绝重新初始化先前失败的类 java.lang.Class<com.itextpdf.awt.PdfGraphics2D>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39972333/
我正在用 JAVA 创建一个简单的程序,其中有一个按钮,单击后即可创建 PDF。我正在使用 iText JAVA 库来生成 PDF。我已将 iText .jar 文件包含在“Java 构建路径”中,但
在最新版本的 itextpad v5.4.0 中找不到类“com.itextpdf.text.pdf.PdfAWriter”。我什至尝试下载额外的 jar,但无济于事。 我们将不胜感激。 最佳答案 我
我是 android 的新手,我正在尝试在 android 中将位图转换为 Pdf。我正在使用 itextpdf 5.5.4 jar 文件。我使用的代码如下: import com.itextpdf.
我使用以下代码的目的是将 HTML 文件转换为 PDF try { com.itextpdf.text.Document document = new com.itextpdf.text
我正在尝试将表格放在已在“PdfPageEventHelper”中横向旋转的 PDF 页面上: public void onStartPage(PdfWriter writer_,Document d
嘿哟,我的这段代码有问题: private void createPDF(String[] url, String name) throws FileNotFoundException, Docu
我在使用 itext 7 时遇到两个问题。其中一个是,如果您引入的链接长于一行,则第一行将显示为其自己的链接,只有第二行引用整个内容。第二个问题是关于在链接周围添加边框。该边框仅出现在链接的后半部分(
iTextPdf 是否允许设置表格中单元格之间的间距? 我有一个包含 2 列的表格,我正在尝试在单元格上绘制边框底部。我希望每个边框之间的空间与单元格填充相同。 我正在使用下面的代码: Pdf
我有一堆 PDF,此时我已将它们合并到代码中。在合并的 PDF 的开头,我有一个内容页面,分别链接到所述 PDF。这些 pdfAction.gotoLocalPage 链接有时无法正常工作,而是跳转到
以下是我使用 iText 从 Java 生成 PDF 的代码: import java.io.File; import java.io.FileOutputStream; import java.io
是否可以通过 iTextPDF 库从现有的 pdf 文件中提取页面并将整个页面另存为图像。 例如,如果我的 pdf 文件包含 2 个页面,那么将生成 2 个图像,每个图像将是特定页面的快照。 最佳答案
大家好! 我对文档有一些疑问: itextpdf 是否可以选择在特定页面上设置不同的边距?我试过用 document.setMargin 然后 document.newPage 但似乎每一页都有相同的
我在 Ubuntu 上使用 itextpdf 来填写带有数据的 PDF 表单。事实上,我使用了这个工具包中包含的一个类(实用程序):PdfFormFiller。数据由 Unicode 字符串表示。为了
我想动态对齐 iText PdfTable。 如何在 iTextPDF 中设置基于 x 和 y 位置的对齐方式。 PdfPCell cell; cell = new PdfPCell(testTabl
我正在使用 iTextPdf 为 pdf 构建表格。每页将有 9 到 15 列,确切数字直到运行时才知道。 iTextPDF 非常适合在整个页面宽度上创建大小相同的列。但我想不通的是如何创建不同宽度的
我使用 iTextPdf 从 html 页面生成 pdf 文件,例如: iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp
本文整理了Java中com.itextpdf.text.ZapfDingbatsList类的一些代码示例,展示了ZapfDingbatsList类的具体用法。这些代码示例主要来源于Github/Sta
如何在 iTextpdf 中设置表格的行位置和宽度?这里我需要如何设置每个单元格的位置以及如何在 itextpdf 中设置行间距 testTable11_close_right.getDefaultC
我正在使用 itextpdf 将一些 pdf 合并为一个。 itextpdf pdfcontentbyte addtemplate的参数是什么意思,没有文档描述。 最佳答案 下面的代码成功了,感谢帮助
我有这个移动应用程序,我需要将数据库的一些行导出为 pdf。我需要有一个 pdf 结构才能正确放置信息。这是我的代码,但由于某种原因 PDF 是空白的。主要目标是在开头有一个标题,然后是数据库中的一行
我是一名优秀的程序员,十分优秀!