私はアンドロイドには静かです。私はアンドロイドでビットマップをPDFに変換しようとしています。私はitextpdf 5.5.4 jarファイルを使用しています。私が使用していたコードを以下に書かれている:私はアプリのGradleの中にもitextpdfライブラリをコンパイルしたitextPdfに関する問題、以前に失敗したクラスの再初期化を拒否しましたjava.lang.Class <com.itextpdf.awt.PdfGraphics2D>
clickedPhoto = BitmapFactory.decodeByteArray(bytes,0,bytes.length);
:上記のコードで
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は以下のように定義ビットマップタイプ以外の何ものでもありません:
compile 'com.itextpdf:itextpdf:5.5.6'
しかし、私はなぜ知らないが、画像:PDFファイルを所定の場所にし、アンドロイドのモニターに救われていないとして(ビットマップclickedPhotoは)私が見ることができます:
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>
誰かがこの例外を解決するのを手伝ってくれたら本当にうれしいです。ありがとうございました!!
jarファイルに問題がある可能性があります。使用しているjarをデコードし、このクラスが存在するかどうかをチェックします。このクラスを見つけるために最新のjarまたは古いjarファイルを使用しないでください。最新のjarは5.5.10ですhttps://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.10 –
私はすでにそれをチェックして、このクラスを持っています。これは、なぜ私はこの問題に遭遇しているのか理解できない理由です。 – Th3Dark0
私もこの瓶を解読しています –