自定义自由文本工具
Customizing the FreeText Tool
我正在尝试自定义自由文本注释的外观。
我需要文本有额外的填充,即文本周围应该有额外的 space。
我正在使用 WebViewer,并在制作 FreeTextAnnotation 时尝试使用 setPadding 和 setRect 函数。这些没有做我想要的,setPadding函数设置了选择矩形的填充。
然后我尝试根据以下指南和示例制作自定义注释:
与库本身一起分发的示例中的标尺示例。
我无法使它正常工作,因为我没有很多文档可以继续,而且 none 这些示例中有用户可编辑的组件(比如在自由文本之后编辑文本注释已完成)
这是我想要的示例:
这是一个我不想要的例子:
在我看来,根据 PDF 规范,我认为自由文本注释不能有填充 属性。所以不幸的是,即使我们设法通过自定义 draw
函数添加了填充,它也不会保持一致,这意味着当在其他 PDF 阅读器(如 Acrobat)中查看下载的 PDF 时,填充会丢失。
但是,我们可以通过一种方法实现这一点并使外观保持一致,尽管有点老套。我们可以手动设置边框和填充颜色相同,并增加边框的值,使自由文本注释在视觉上具有填充。例如:
const color = new instance.Annotations.Color(3, 244, 252);
instance.annotManager.setAnnotationStyles(annot, () => ({
StrokeThickness: 30, // padding
StrokeColor: color,
FillColor: color,
}))
我正在尝试自定义自由文本注释的外观。
我需要文本有额外的填充,即文本周围应该有额外的 space。
我正在使用 WebViewer,并在制作 FreeTextAnnotation 时尝试使用 setPadding 和 setRect 函数。这些没有做我想要的,setPadding函数设置了选择矩形的填充。
然后我尝试根据以下指南和示例制作自定义注释:
与库本身一起分发的示例中的标尺示例。
我无法使它正常工作,因为我没有很多文档可以继续,而且 none 这些示例中有用户可编辑的组件(比如在自由文本之后编辑文本注释已完成)
这是我想要的示例:
这是一个我不想要的例子:
在我看来,根据 PDF 规范,我认为自由文本注释不能有填充 属性。所以不幸的是,即使我们设法通过自定义 draw
函数添加了填充,它也不会保持一致,这意味着当在其他 PDF 阅读器(如 Acrobat)中查看下载的 PDF 时,填充会丢失。
但是,我们可以通过一种方法实现这一点并使外观保持一致,尽管有点老套。我们可以手动设置边框和填充颜色相同,并增加边框的值,使自由文本注释在视觉上具有填充。例如:
const color = new instance.Annotations.Color(3, 244, 252);
instance.annotManager.setAnnotationStyles(annot, () => ({
StrokeThickness: 30, // padding
StrokeColor: color,
FillColor: color,
}))