在我的应用程序中,我将 pdf 下载到下载文件夹,并尝试使用以下代码打开。
String FileName="CardsDecks";
File imagePath = new File(this.getFilesDir(), "Download");
File newFile = new File(imagePath, FileName+ ".pdf");
Uri contentUri = FileProvider.getUriForFile(this, "com.cards.mycards.fileprovider", newFile);
Intent intent =new Intent(Intent.ACTION_VIEW)
.setDataAndType(contentUri, "application/pdf")
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Intent intent1 = Intent.createChooser(intent, "Open File");
startActivity(intent1);
Run Code Online (Sandbox Code Playgroud)
清单文件中的提供程序定义
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.cards.mycards.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)
provider_paths.xml
<paths>
<files-path name="CardsDecks" path="." />
</paths>
Run Code Online (Sandbox Code Playgroud)
该应用程序仅显示用于打开文件的驱动器 pdf 查看器和 word 选项,而不显示手机中的 pdf 查看器。
当我单击驱动器 pdf 查看器时,它会立即打开和关闭。我已经检查了下载文件夹中的文件,文件存在于其中,其中包含内容。
请帮助以上。
我正在尝试从xml布局视图创建PDF文件.我在该布局中有一个列表视图,根据子项添加项目和设置高度.PDF正在创建但不填写整个页面.我试过的是,
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(2250, 1400, 1).create();
// start a page
PdfDocument.Page page = document.startPage(pageInfo);
// draw something on the page
LayoutInflater inflater = (LayoutInflater)
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View content = inflater.inflate(R.layout.pdf_layout, null);
content.measure(2250, 1400);
content.layout(0,0, 2250, 1400);
tvName = (TextView)content.findViewById(R.id.tvName);
tvDate = (TextView)content.findViewById(R.id.tvDate);
tvAge = (TextView)content.findViewById(R.id.tvAge);
tvGender = (TextView)content.findViewById(R.id.tvGender);
tvPhone = (TextView)content.findViewById(R.id.tvPhone);
lvList = (ListView)content.findViewById(R.id.lvList);
lvList.setAdapter(adapter);
Utils.setListViewHeight(lvList, CreatePDFDemo.this);
tvName.setText(name);
tvAge.setText(age + "Y");
tvGender.setText(gender);
tvPhone.setText(phone);
content.draw(page.getCanvas());
// finish the page
document.finishPage(page);
// add more pages
// write the document content
try …Run Code Online (Sandbox Code Playgroud) 我们包含此AndroidPdfViewer 库以支持在应用程序中查看 PDF 报告。它导致 APK 大小从 4.7Mb 大幅增加到 20.1Mb。
有没有办法减小这个尺寸。让我知道在哪里以及需要修改哪些内容来帮助或解决这个问题。
我熟悉 proguard 并为我的应用程序配置它并取得了一定的成功。
我正在使用pdf 编辑器。
我使用基于 iText 的OpenPDF核心对 pdf 文件进行了更改
我正在使用AndroidPdfViewer查看 Pdf 文件
我的问题是:
将新的注释(如文本或标签或图标)添加到现有的 pdf 文件中。 (已解决)
在注释添加到 pdf 文件后立即显示新更改。(已解决)
将用户点击转换为 Pdf 文件坐标以根据用户点击位置添加新注释。
在添加的注释上获取点击事件并读取添加到该注释中的元数据,例如:读取在图标注释上设置的标签哈希 ID。(已解决)
从 PDF 文件中删除添加的注释。
任何帮助表示赞赏
================================================== ======================
public static void addWatermark(Context context, String filePath) throws FileNotFoundException, IOException {
// get file and FileOutputStream
if (filePath == null || filePath.isEmpty())
throw new FileNotFoundException();
File file = new …Run Code Online (Sandbox Code Playgroud)