私はアンドロイドアプリケーションでEclipseのボタンをクリックするとpdfを生成しようとしています。私はをJavaプロジェクトとしてフォローしています。EclipseのItext
これは美しく動作する私のJavaプロジェクトのコードです。
package de.vogella.eclipse.ide.first;
import java.io.*;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
public class MyFirstClass {
public static void main(String arg[])throws Exception{
Document document=new Document();
PdfWriter.getInstance(document,new FileOutputStream("StudentPDF.pdf"));
document.open();
document.add(new Paragraph("Test StudentPdf"));
document.close();
}
}
は、しかし、私は私のAndroidアプリの新しいJavaクラスを介して、このコードを複製する際に、私が得る私はJavaアプリケーションとしてクラスを実行しようとすると、「エラーがVM によってjava.lang.StackOverflowErrorの初期化中に発生しました」とアプリケーションを実行するとプログラムがクラッシュします。
このエラーは、iTextライブラリのインストール方法を完全に指しています。私はチェックして、ソースの添付ファイル、javadocとネイティブライブラリの場所をダブルチェックしてトリプルチェックしました。それらはすべてJavaプロジェクトのようにインストールされているようです。
これが私の「印刷」ボタンのonClickリスナーを印刷するように設定されている私のアンドロイドのJavaClassファイル
import java.io.*;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
public class iText {
public static void Print(String arg[])throws Exception{
Document document=new Document();
PdfWriter.getInstance(document,new FileOutputStream("StudentPDF.pdf"));
document.open();
document.add(new Paragraph("Test StudentPdf"));
document.close();
}
}
です。
理論的にクリックすれば、このJavaクラスはpdfをアクティブにして生成する必要があります。何かアドバイス?
あなたにはどのような権限がありますか? – UPGRAYEDD
WRITE_EXTERNAL_STORAGEを追加し、PDFファイルを外部ストレージに出力してみてください。 – Gio