HarmonyOS 鸿蒙Next PDF添加水印后展示白屏?
HarmonyOS 鸿蒙Next PDF添加水印后展示白屏?
HarmonyOS PDF添加水印后展示白屏?
2 回复
1、请确认选用的字体是否存在,在获取字体后,可以打印下字体信息,如不存在请更换字体后重试; 2、字体可以在system/fonts/目录下查看,可能需要多试几个,在传入字体名称时,需要将下划线换成空格; 片段示例:
// let fontInfo: font.FontInfo = font.getFontByName("HarmonyOS Sans");
//需要去掉下划线: /system/fonts/HarmonyOS_Sans_Digit.ttf
let fontInfo: font.FontInfo = font.getFontByName("HarmonyOS Sans Digit");
console.error(TAG, 'addTextWatermark fontInfo:' + JSON.stringify(fontInfo));
wminfo.fontInfo.fontPath = fontInfo.path;
完整示例:
async addTextWatermark(pdfDocument: pdfService.PdfDocument, path: string) {
console.log(TAG, "addTextWatermark, path: " + path);
if (await fs.access(path)) {
fs.unlinkSync(path);
}
try {
let wminfo: pdfService.TextWatermarkInfo = new pdfService.TextWatermarkInfo();
wminfo.watermarkType = pdfService.WatermarkType.WATERMARK_TEXT;
wminfo.content = "This is watermark";
wminfo.textSize = 30;
// wminfo.textColor = 0x000000;
wminfo.textColor = 200;
wminfo.fontInfo = new pdfService.FontInfo();
// let fontInfo: font.FontInfo = font.getFontByName("HarmonyOS Sans");
// /system/fonts/HarmonyOS_Sans_Digit.ttf
let fontInfo: font.FontInfo = font.getFontByName("HarmonyOS Sans Digit");
console.error(TAG, 'addTextWatermark fontInfo:' + JSON.stringify(fontInfo));
wminfo.fontInfo.fontPath = fontInfo.path;
wminfo.opacity = 0.5;
wminfo.isOnTop = false;
wminfo.rotation = 45;
wminfo.scale = 1.5;
wminfo.opacity = 0.5;
wminfo.verticalAlignment = pdfService.WatermarkAlignment.WATERMARK_ALIGNMENT_TOP;
wminfo.horizontalAlignment = pdfService.WatermarkAlignment.WATERMARK_ALIGNMENT_LEFT;
wminfo.horizontalSpace = 1.0;
wminfo.verticalSpace = 1.0;
pdfDocument.addWatermark(wminfo, 0, pdfDocument.getPageCount(), true, true);
pdfDocument.saveDocument(path);
} catch (e) {
console.error(TAG, 'addTextWatermark errMsg:' + JSON.stringify(e));
}
}
针对HarmonyOS 鸿蒙Next PDF添加水印后展示白屏的问题,这可能是由于多种原因导致的。以下是一些可能的原因及解决方法:
- 水印添加方式不当:检查水印添加的代码逻辑,确保水印是以正确的方式添加到PDF中的。如果使用的是第三方库或工具,请确认其兼容性和正确性。
- PDF文件损坏:在添加水印的过程中,PDF文件可能已损坏。尝试重新生成或修复PDF文件。
- 系统或应用问题:确保鸿蒙OS Next系统已更新到最新版本,同时检查相关应用(如PDF阅读器)是否也是最新版本。有时系统或应用的bug可能导致文件显示异常。
- 资源限制:检查设备或模拟器的资源使用情况,如内存和存储空间。资源不足可能导致文件无法正常加载和显示。
如果以上方法均无法解决问题,请联系官网客服以获取更专业的帮助。官网地址是:https://www.itying.com/category-93-b0.html。