現在のアクティビティから PDF を生成するこのメソッドがあります。
public boolean convertToPDF(String pdfFileName) {
PdfDocument document = new PdfDocument();
View content = GraphActivity.rl_main;
int pageNumber = 1;
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(content.getWidth(),
content.getHeight(), pageNumber).create();
PdfDocument.Page page = document.startPage(pageInfo);
content.draw(page.getCanvas());
document.finishPage(page);
pdfFile = new File(pdfFileName);
try {
pdfFile.createNewFile();
OutputStream out = new FileOutputStream(pdfFile);
document.writeTo(out);
document.close();
out.close();
} catch (IOException e) {
Log.e("Error", "Could not create PDF file!");
return false;
}
return true;
}
何らかの理由で、このメソッドをマシュマロで実行すると、判読できない文字を含む PDF ファイルが生成されます。実行時にアプリのアクセス許可を付与しましたWRITE_EXTERNAL_STORAGE
。マシュマロのために別のことをする必要があることはありますか? これが古い Android バージョンで動作することを確認できます。
編集:フォルダーでカスタム書体を使用していassets
ます。これが何か関係あるのかしら。
更新: カスタム書体を無効にしてみましたが、問題は解決しました。ただし、カスタムの書体を保持したいと考えています。