高亮显示PDF文档
=========

PDF文档在预览时，可以对页面的矩形区域或文本设置高亮显示，高亮颜色可以自定义。

[setHighlightText](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/pdf-arkts-pdfviewmanage#sethighlighttext)可以同时高亮多个不同的文本。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b8/v3/6KxEZg79QlObVTzwRyuZEw/zh-cn_image_0000002594829330.jpg?HW-CC-KV=V1&HW-CC-Date=20260612T073638Z&HW-CC-Expire=86400&HW-CC-Sign=7A0855E096C4E25BF46313AEDA538293170EDBE31938F301C3235C120A8AFA26)

#### 接口说明

| 接口名 | 描述 |
| :-- | :-- |
| [setHighlightText](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/pdf-arkts-pdfviewmanage#sethighlighttext)(pageIndex: number, textArray: string\[\], color: number): void | 高亮指定文本。 |

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/5f/v3/Ah598hDITvKzPtT-VxD9Mg/caution_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073638Z&HW-CC-Expire=86400&HW-CC-Sign=3FF8A57F998EA8F919BE37E4273C953BD0702DF989612273F688DBEDC343B0EE)

[setHighlightText](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/pdf-arkts-pdfviewmanage#sethighlighttext)和[searchKey](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/pdf-arkts-pdfviewmanage#searchkey)功能互斥。

#### 示例代码

1.  加载PDF文档。
    
2.  调用PdfView预览组件，渲染显示。
    
3.  在按钮【setHighlightText】里，调用setHighlightText方法，设置单个或多个要高亮的文本。
    

import { pdfService, PdfView, pdfViewManager } from '@kit.PDFKit';

@Entry
@Component
struct PdfPage {
  private controller: pdfViewManager.PdfController = new pdfViewManager.PdfController();
  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';
    (async () => {
      this.loadResult = await this.controller.loadDocument(filePath);
    })()
  }

  build() {
    Column() {
      Row() {
        // 设置文本的高亮显示风格
        Button('setHighlightText').onClick(async () => {
          if (this.loadResult === pdfService.ParseResult.PARSE\_SUCCESS) {
            this.controller.setHighlightText(0, \['白皮书'\], 0xAAF9CC00);
          }
        })
      }

      // 加载PdfView组件进行预览
      PdfView({
        controller: this.controller,
        pageFit: pdfService.PageFit.FIT\_WIDTH,
        showScroll: true
      })
        .id('pdfview\_app\_view')
        .layoutWeight(1);
    }
    .width('100%').height('100%')
  }
}