Я только начал использовать текст для приложения, над которым я работаю, для дальнейшего изучения моего андроида. Однако я не могу понять, как получить заполненный pdf-файл, а затем отправить его по электронной почте, используя намерение. Я всюду искал поиски и поиски, но ничего не могу найти. Кто-нибудь знает, как это сделать?Как отправить PDF-файл, созданный с помощью itext
Объявление моего файла перед моим onCreate;
File file = new File(getExternalFilesDir(null),"pvgform.pdf");
Это часть моего кода, чтобы добавить информацию в нефтеналивной Текст PDF
OutputStream output = null;
try {
output = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
reader = new PdfReader(getResources().openRawResource(R.raw.form));
} catch (IOException e) {
e.printStackTrace();
}
try {
PdfStamper stamper = new PdfStamper(reader, output);
AcroFields acroFields = stamper.getAcroFields();
acroFields.setField("fullname", editText.getText().toString());
acroFields.setField("agedob", editText2.getText().toString());
acroFields.setField("description", editText3.getText().toString() + editText4.getText().toString() + editText5.getText().toString());
acroFields.setField("duration", editText6.getText().toString());
acroFields.setField("brandname", editText8.getText().toString());
acroFields.setField("genericname", editText9.getText().toString());
stamper.setFormFlattening(true);
stamper.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
reader.close();
и это моя попытка электронной умыслом для формы PDF:
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_SUBJECT, "My form");
email.putExtra(Intent.EXTRA_TEXT, "Here is a form");
Log.d("file",file.getAbsolutePath());
Uri uri = Uri.fromFile(file);
email.putExtra(Intent.EXTRA_STREAM,uri);
email.setType("application/pdf");
email.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
когда Я запускаю это, нет прикрепления к электронному письму, которое будет отправлено.
не открывает шаблон и добавляет текст ввода пользователя, добавляя его к заполняемому тексту? Кроме того, я редактировал мой uri. это лучше? – Aria
@Aria: «не открывает шаблон и добавляет текст ввода пользователя, добавляя его к заполняемому тексту?» - да, но только в памяти. «Кроме того, я отредактировал мой uri. это лучше?» - во-первых, я не вижу никакого кода, в котором вы сохраняете PDF-файл в этом файле. Во-вторых, используйте 'new File (getFilesDir()," form.pdf ")', чтобы более безопасно построить этот путь. В-третьих, что 'Uri' будет бесполезным, поскольку сторонние приложения электронной почты не могут читать из внутреннего хранилища вашего приложения. Вы можете сохранить файл в 'getFilesDir()', но тогда вам нужно будет использовать 'FileProvider', чтобы обслуживать файл таким образом, чтобы сторонние приложения могли получить к нему доступ. – CommonsWare
, не могли бы вы рассказать мне, что добавить в мой код? Мне жаль, что я новичок с текстом, поэтому я не знаю, что еще попробовать – Aria