2017-10-20 99 views
1

對不起,如果這個問題已經被問到, 我在這個問題上搜索了很多,但沒有得到解決方案。PDFDocument文件保存

我正在開發一個android應用程序,它使用PDFDocument的android庫生成PDF文件。

有一些奇怪的問題,在生成PDF文件後,它在電話的文件資源管理器中可見,但在計算機文件資源管理器中不可見(如Mac的Android文件傳輸,Windows的我的電腦和Ubuntu的文件資源管理器)認爲我錯過了代碼中的某些東西。請幫忙。

這裏是我的代碼

PdfDocument document = new PdfDocument(); 

    PdfDocument.PageInfo pageinfo = new PdfDocument.PageInfo.Builder(PAGEWIDTH,PAGEHEIGHT,1).create(); 


    PdfDocument.Page page = document.startPage(pageinfo); 

    Canvas canvas = page.getCanvas(); 

    Paint paint = new Paint(); 


    paint.setTextSize(getResources().getDimension(R.dimen.textsize)); 
    paint.setTextAlign(Paint.Align.CENTER); 

     paint.setColor(ContextCompat.getColor(getApplicationContext(),R.color.colorName)); 
    canvas.drawText(getResources().getString(R.string.app_name),PAGEWIDTH/2,50,paint); 


    document.finishPage(page); 


    String targetPdf = "/sdcard/documents/myfile.pdf"; 
    File filepath = new File(targetPdf); 
    try { 

    filepath.createNewFile(); 

    document.writeTo(new FileOutputStream(filepath)); 
    Toast.makeText(getApplicationContext(), 
    getResources().getString(R.string.success), 
    Toast.LENGTH_SHORT).show(); 


    } 
    catch (IOException e){ 
    e.printStackTrace(); 
    Toast.makeText(getApplicationContext(), 
    getResources().getString(R.string.error) + e.toString(), 
    Toast.LENGTH_LONG).show(); 
    } 

    document.close(); 

手機文件管理器圖片

enter image description here

電腦文件瀏覽器圖片

enter image description here

+0

什麼叫電腦文件瀏覽器是什麼意思?模擬器通過Android設備監視器? –

+0

我的意思是在Mac上的Android文件傳輸和Ubuntu上的文件瀏覽器(當我將手機連接到計算機時,該文件在計算機上不可見) –

+0

不,它不會是這樣,可能是您在將數據傳輸到Mac時出現問題。如果您的文件已創建並且可以在移動設備上打開,這意味着您的代碼工作已經完成並且工作正常,請嘗試正確地複製/傳輸文件 –

回答

0

如果您的文件已創建並可以在移動設備上打開,這意味着您的代碼工作已完成,並且工作正常。由於您能夠保存並從手機打開文件,現在問題不在於代碼,而是將數據傳輸到Mac(如您所述)。

在某些情況下Android File Transfer沒有列出的所有文件所提到herehere

嘗試下面的步驟,並再次檢查

  • 進入「設置」
  • 選擇「應用程序「
  • 顯示所有應用程序(菜單」顯示系統「)
  • 選擇系統應用程序」媒體存儲「
  • 選擇「存儲」
  • 清除緩存和清除存儲
  • 重啓手機,再等待一段時間介質存儲索引所有的文件
+0

另外它不顯示在Ubuntu的文件資源管理器上 –

+0

爲什麼不能使用USB傳輸將文件共享到您的計算機 –

+0

其實我要部署這個在谷歌播放應用程序,這就是爲什麼我不想限制用戶 –