2017-01-26 70 views
0

我使用PDFBox的距離:Tom Roush PDFBox Android並將其導入到build.gradel:dependencies {compile 'org.apache:pdfbox-android:1.8.9.0'}PDFBox的Android上無法打開並填寫表單

但每次我只運行吐司出現的活動,但充滿PDF文件無法找到。 PDF位於/ assets文件夾中。我自己在/ app/src/main/assets中創建了這個文件夾。我使用Android Studio。

的活動:

public class GwmProbenActivity extends AppCompatActivity { 

DatabaseHelperAllgemeineDaten myDb; 
public String stOrt; 
public String stProgramm; 
public String stName; 
public String stDatum; 
File root; 

AssetManager assetManager; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_proben); 

    Intent intent = getIntent(); 
    stDatum = intent.getStringExtra("datum"); 
    myDb = new DatabaseHelperAllgemeineDaten(this); 

    PDFBoxResourceLoader.init(getApplicationContext()); 
    root = android.os.Environment.getExternalStorageDirectory(); 
    assetManager = getAssets(); 
} 


public void fillPDF() { 
    try { 
     // Load the document and get the AcroForm 
     PDDocument document = PDDocument.load(assetManager.open("Vorlage_GWM- Protokoll.pdf")); 
     PDDocumentCatalog docCatalog = document.getDocumentCatalog(); 
     PDAcroForm acroForm = docCatalog.getAcroForm(); 

     // Fill the text field 
     PDFieldTreeNode field = acroForm.getField("ProbenahmeDatum"); 
     field.setValue(stDatum); 

     String path = root.getAbsolutePath() + "/Download/Vorlage_GWM-Protokoll1"; 
     Toast.makeText(this,"Saved filled form to " + path,Toast.LENGTH_LONG).show(); 
     document.save(path); 
     document.close(); 
    } 
    catch (IOException ioe) 
    { 
     ioe.printStackTrace(); 
    } 
} 

public void speichern (View v) { 
    fillPDF(); 
} 
} 
+0

1)「.PDF」在你保存的文件名失蹤2人)敬酒被保存之前調用,因此這意味着它似乎沒什麼=>請更正此問題,編輯您的問題和現在發生的事情的意見告訴。 –

+0

謝謝,我已經添加了「.pdf」,並在document.close()之後移動了Toast。現在吐司沒有出現,我無法找到存儲/模擬/ 0 /下載 –

+0

文件好吧,明白了。 自API 23+以來,您需要檢查活動中的權限。 [這是解決辦法(http://stackoverflow.com/a/33292700/4615030) –

回答

1

我已經加入了 「.PDF」 和移動的敬酒document.close後面()。現在吐司不顯示,我無法找到存儲/模擬/ 0 /下載文件。

由於API 23+您需要檢查活動中的權限。這是解決方案。