| 接口名 | 描述 |
|---|---|
| convertToImage(path: string, format: ImageFormat, onProgress?: (progress: number) => number): boolean | 转换PDF文档为图片。 |
调用loadDocument方法,加载PDF文档。
设置要输出图片的文件夹,调用convertToImage方法转化PDF文档所有页面为图片。
import { fileIo } from '@kit.CoreFileKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { pdfService } from '@kit.PDFKit';
// ...
@Entry
@Component
struct ConvertImagePage {
private pdfDocument: pdfService.PdfDocument = new pdfService.PdfDocument();
private context = this.getUIContext().getHostContext() as Context;
private loadResult: pdfService.ParseResult = pdfService.ParseResult.PARSE_ERROR_FORMAT;
aboutToAppear(): void {
// 确保在工程目录src/main/resources/resfile里有input.pdf文档
let filePath = this.context.resourceDir + '/input.pdf';
this.loadResult = this.pdfDocument.loadDocument(filePath);
}
build() {
Column() {
// ...
// 获取为图片并保存到应用沙箱
Button('convertToImage').onClick(async () => {
if (this.loadResult === pdfService.ParseResult.PARSE_SUCCESS) {
let outputPath = this.getUIContext().getHostContext()?.filesDir + '/output/';
fileIo.mkdir(outputPath);
// 将所有的页面转化为png图片,并存储在output文件夹里,确保output文件夹目录存在
let res = this.pdfDocument.convertToImage(outputPath, pdfService.ImageFormat.PNG);
hilog.info(0x0000, 'ConvertImagePage', 'convertToImage %{public}s!', res ? 'success' : 'fail');
}
})
// ...
}
}
}