如何解决Android应用程序将pdf文件保存到设备存储中
我正在尝试在Android应用程序中保存pdf文件,数据(“ formData”)来自存储在Hashtable
const [videos,setVideos] = useState([])
const handleFormSubmit = async (searchterm) => {
const response = await fetch(
`https://www.googleapis.com/youtube/v3/search?${params.toString()}&q=${searchterm}`
)
const data = await response.json()
console.log(data)
setVideos(data.items)
console.log(videos)
}
PdfFillerImpl类:
InputStream ins = getResources().openRawResource(getResources().getIdentifier(FORM_NAME,"raw",getPackageName()));
Context context = getApplicationContext();
PdfFillerImpl fill = new PdfFillerImpl();
byte[] data = fill.formFiller(formData,ins);
if(!saveFileToExternalStorage(data)){
Log.d("TAG","FAILED TO SAVE FILE");
}
} saveFileToExternalStorage方法:
public class PdfFillerImpl implements PdfFiller {
@Override
public byte[] formFiller(Hashtable<String,String> formData,InputStream inputStream) throws IOException {
PDDocument pdfDoc = PDDocument.load(inputStream);
PDDocumentCatalog docCatalog = pdfDoc.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
for (Object fieldObj : acroForm.getFields()) {
PDTextField field = (PDTextField) fieldObj;
if (formData.containsKey(field.getFullyQualifiedName())) {
field.setValue(formData.get(field.getFullyQualifiedName()));
}
}
PDStream pdStream = new PDStream(pdfDoc);
byte[] data;
data = pdStream.toByteArray();
return data;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。