如何使用borb库为PDF文本添加下划线?
在borb中为文本添加下划线的方法
borb支持通过TextDecoration枚举类实现文本下划线效果,你可以针对整个段落或段落中的部分文本单独设置:
方法1:为整个段落添加下划线
通过Paragraph的default_text_decoration参数,给段落内所有文本统一添加下划线:
from borb.pdf import Document, Page, SingleColumnLayout, Paragraph, PDF from borb.pdf.canvas.layout.text.text_decoration import TextDecoration # 初始化文档和页面 doc: Document = Document() page: Page = Page() doc.add_page(page) layout = SingleColumnLayout(page) # 添加带下划线的段落 layout.add(Paragraph( "Lorem ipsum dolor sit amet", default_text_decoration=TextDecoration.UNDERLINE )) # 保存文件 with open("output_underline_paragraph.pdf", "wb") as pdf_file_handle: PDF.dumps(pdf_file_handle, doc)
方法2:为段落中的部分文本添加下划线
使用ChunkOfText拆分段落内容,给指定文本块单独设置text_decoration属性:
from borb.pdf import Document, Page, SingleColumnLayout, Paragraph, PDF from borb.pdf.canvas.layout.text.chunk_of_text import ChunkOfText from borb.pdf.canvas.layout.text.text_decoration import TextDecoration # 初始化文档和页面 doc: Document = Document() page: Page = Page() doc.add_page(page) layout = SingleColumnLayout(page) # 混合普通文本与带下划线的文本 layout.add(Paragraph([ ChunkOfText("Lorem ipsum "), ChunkOfText("dolor sit amet", text_decoration=TextDecoration.UNDERLINE), ChunkOfText(" consectetur adipiscing elit") ])) # 保存文件 with open("output_underline_partial.pdf", "wb") as pdf_file_handle: PDF.dumps(pdf_file_handle, doc)
TextDecoration还支持其他文本装饰效果,比如LINE_THROUGH(删除线),你可以根据需求选择使用。
内容的提问来源于stack exchange,提问作者Joris Schellekens
相关产品推荐
相关产品推荐

