我没有给这些问题一个合适的标题。:)
我需要如何从现有 PDF 文件中拆分(获取)页面。我为此使用 droidtext。
我的代码是
try {
String path = Environment.getExternalStorageDirectory()
+ "/test123.pdf";
/*Read Existing PDF*/
PdfReader reader = new PdfReader(path);
Document doc = new Document();
doc.open();
File outfile = new File(Environment.getExternalStorageDirectory()
+ "/test_new.pdf");
if (!outfile.exists())
outfile.createNewFile();
FileOutputStream decfos = new FileOutputStream(outfile);
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, decfos);
document.open();
/*Getting First page*/
PdfImportedPage page = writer.getImportedPage(reader, 1);
Image instance = Image.getInstance(page);
document.add(instance);
document.close();
} catch (DocumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我想从“test123.pdf”文件创建一个单页 pdf。它正在创建新的 PDF。
但问题是在新的 PDF 文件中有白色边框。我怎样才能删除这些空白。在原始 PDF 中没有这样的白色边框。
编辑
我再次尝试使用以下代码。但它给出了空指针异常copy.addPage(page);
String path = Environment.getExternalStorageDirectory()
+ "/test123.pdf";
PdfReader reader = new PdfReader(path);
PdfImportedPage page;
PdfSmartCopy.PageStamp stamp;
File outfile = new File(Environment.getExternalStorageDirectory()
+ "/test_new.pdf");
Document doc = new Document();
if (!outfile.exists())
outfile.createNewFile();
FileOutputStream decfos = new FileOutputStream(outfile);
PdfSmartCopy copy = new PdfSmartCopy(doc, decfos);
page = copy.getImportedPage(reader, 5);
stamp = copy.createPageStamp(page);
stamp.alterContents();
copy.addPage(page);