我正在开发一个 pdf 打印应用程序,当我被要求使用 android PrintDocumentAdapter 设置页面范围时卡住了。我正在使用这样的android api设置页面范围
this.printManager.print(FilenameUtils.getName(pdfPath),
new PrintDocumentAdapter() {
@Override
public void onWrite(PageRange[] pages,
ParcelFileDescriptor destination,
CancellationSignal cancellationSignal,
WriteResultCallback callback) {
OutputStream output = new FileOutputStream(destination
.getFileDescriptor());
InputStream pdfInStream = null;
try {
pdfInStream = new FileInputStream(
PdfPrint.this.pdfPath);
IOUtils.copy(pdfInStream, output);
callback.onWriteFinished(new PageRange[] {new PageRange(0, 1), new PageRange(2, 4)});
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
output.flush();
pdfInStream.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
打印对话框仍然显示“全部”选项,在这里我也可以手动设置范围。但是我想限制这种行为,因为我正在以编程方式设置页面范围,并且对话框应该显示之前设置的页面范围,并且只打印那些特定的页面。有没有办法禁用此“手动页面范围选择”并在打印对话框出现时设置页面范围。请帮我