首页
学习
活动
专区
圈层
工具
发布

最新最全自己动手做一个富文本编辑器(附源码 api)

(IE浏览器不支持) copy: 拷贝当前选中内容到剪贴板。启用这个功能的条件因浏览器不同而不同,而且不同时期,其启用条件也不尽相同。使用之前请检查浏览器兼容表,以确定是否可用。...(IE浏览器不支持) enableObjectResizing: 启用或禁用图像和其他对象的大小可调整大小手柄。(IE浏览器不支持) fontName: 在插入点或者选中文字部分修改字体名称....需要提供一个字体名称字符串 (例如:"Arial")作为参数。 fontSize: 在插入点或者选中文字部分修改字体大小. 需要提供一个HTML字体尺寸 (1-7) 作为参数。...insertParagraph: 在选择或当前行周围插入一个段落。(IE会在插入点插入一个段落并删除选中的部分.) insertText: 在光标插入位置插入文本内容或者覆盖所选的文本内容。...如下图: 所有复杂的编辑器都是几个命令的组合,以及对于不支持命令的迂回战术实现. 另外还需要有对于当前行的 数据格式判断,对于复制到编辑器的内容判断,从而编写不太的方法对其进行处理...

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《WASM驱动本地PDF与Excel预览组件的深度实践》

    最后是“交互优化”:添加解析进度条,实时显示当前解析进度(如“已解析30%”);支持预览内容的缩放(PDF)、排序与筛选(Excel);提供“下载解析结果”功能,允许用户将解析后的文本或表格数据导出为TXT...在引入WASM驱动的解析预览组件前,该系统采用传统的服务器解析方案:员工上传文件至后端,后端使用Poppler与Libxl解析后生成HTML或图片,再返回给前端预览。...其次是“特殊格式的兼容”:部分PDF文件可能包含特殊字体(如自定义字体、非Unicode字体)或加密保护,Excel文件可能包含复杂公式(如VBA宏、跨工作表引用),WASM解析模块可能无法完全处理。...针对特殊字体,可在解析前通过JavaScript检测PDF文件中的字体信息,若存在WASM不支持的字体,提示用户“部分字体可能无法正常显示”;针对加密文件,直接提示用户“无法解析加密文件,请先解密”;针对复杂公式...从轻量化来看,可采用“按需编译”技术,将WASM模块拆分为基础解析包与扩展功能包(如处理特殊字体的包、处理公式的包),用户仅需加载当前文件格式所需的包,进一步减少加载体积。

    36900

    内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档

    2、系统不支持批量证书更新以及批量打印等功能,在常见的场景中,出具证书是需要进行批量导出的过程。 3、无法满足实时打印预览或者PDF预览,这样直至打印前都无法确定打印的格式、范围等是否符合需求。...另外,对于原生的PDF文件来说,仅包含英文字体,不包含任何中文字体,因此当导出的内容中含有中文字体编码时,就会显示乱码,所以通常情况下,我们都需要为PDF进行字体注册操作。...当然也会有一定的缺点,对于字体较多的文件,需要注册不同的字体,字体文件越大,占用的带宽就越大。另外,当文件比较大的时候,有可能会存在性能问题,不过这个也几乎是前端导出PDF文件的一个瓶颈。...那么较为理想的方案便是可以在前端(SpreadJS)设计、展示,最后交由后端来单独导出或者批量导出。 在浏览器中生成PDF文件 介绍了那么多,我们还是回到本篇文章的主题,如何通过前端来生成PDF文件。...在没注册对应的字体之前,导出的中文字体和特殊字体都显示的是乱码。因此,还需要处理导出中文以及特殊字符PDF乱码的问题。 前面提到了注册字体,那我们的字体应该怎么来?要什么格式的字体呢?

    2.7K20

    html页面导出为pdf(jsPDF、iText、wkhtmltopdf)

    支持 不支持 支持 支持 iText 1、功能基本可以实现,比较灵活2、生成pdf质量较高 1、对html标签严;格,少一个结束标签就会报错;2、后端实现复杂,服务器需要安装字体;3、图片渲染比较复杂...最后转化的pdf的内容都是图片形式,类似于把整个网页截图、切割,再一页一页拼接成一个完整的pdf。...java插件,可以在后端利用java随意生成、转化pdf文件,提供了很多api,比较灵活。...,需要注意的是: 1、如果页面中有中文,服务器端需要下载字体库simsun.ttc,在后台进行引用,同时在页面的样式中加入对应字体的定义,如:body{font-family: SimSun;},否则中文无法渲染...执行完之后,就会在当前目录生成一个pdf(当然生成pdf的目录可以指定),--disable-smart-shrinking 这个参数是关闭缩放,如果不加的话,生成的pdf内容会特别“瘦”,不造为啥这个命令在

    7.9K10

    如何在 Vue 中打印页面:直接用 web-print-pdf(npm 包)

    (推荐生产使用)将页面数据渲染为 PDF(后端或前端生成),用 printPdfByUrl 输出:import { printPdfByUrl } from 'web-print-pdf';await...', silent: true });样式与排版准备打印专用 CSS:边距、分页符、隐藏交互元素字体就近可用:确认中文字体可用;PDF 更稳纸张与驱动一致:A4、80mm、小标签要匹配场景举例面单/拣货单...有队列与并发控制,必要时分批结语总结:生产环境建议“后端生成 PDF + 前端用 web-print-pdf 打印”。够稳、够省心。...生成 PDF 的方案对比(后端 vs 前端)当你选择“打印 PDF”路径时,通常有两类生成方式:— 后端生成(Puppeteer/Playwright/Electron)稳定,字体与版式一致;适合批量/...离线;可审计需要规划算力与并发,打包字体与静态资源— 前端生成(DOM→PDF,如 html2pdf、jsPDF+html2canvas)前端自给自足,所见即所得复杂页面有偏差风险;大页面性能有限;浏览器差异明显结论

    85410

    web html页面显示autocad等dwg格式图形文件方法

    还有CADViewer JS是转成SVG,pdf等格式,然后用web浏览……其实转换格式也是一个办法,用golang在后端,当有请求的时候,调用转换程序AutoXChange进行dwg到pdf的转换。...如下列代码,缺点有3个,一个是万一后端转换不成功,等待很久,还要退出这个进程,另一个缺点是,autoxchange虽然支持字体路径,但是似乎不起作用,还是无法显示中文,最后一个当然是需要购买啦,否则有水印...-f pdf -text -v=5 cmd := exec.Command("ax2019.exe", arg...)...dwgviewx只支持IE浏览器,有**版,去除了水印,但是客户端用ie访问的时候,需要下载activity控件,并安装一下,它只支持中文的宋体啊,黑体啊,之类,不支持那些单线字体。...不支持单线中文字体 ? <!

    4.4K20

    PDF Plus for Mac(PDF处理工具)

    PDF Plus Mac版是Mac平台上的一款PDF文档处理工具,功能强大,只需三个简单的步骤即可帮助您合并,拆分,加水印和裁切PDF文档。...PDF Plus Mac中文版功能介绍合并PDF文档添加/删除PDF文档更改PDF文档的合并顺序立即将所有PDF文档合并到一个PDF文件中以批处理方式拆分PDF文档添加/删除PDF文档以页面和/或页面间隔分割...PDF文档为生成的PDF文件取有意义的名称将生成的PDF文件保存在您选择的文件夹中以批处理方式裁剪PDF文档添加/删除PDF文档使用点或百分比定义裁剪矩形定义相对于PDF页面某个角的裁剪矩形预览每个PDF...:文字(这是会在您的PDF文件上加水印的文字)文字颜色(更改文字颜色)字体类型(从20种精选字体中选择)字体大小(更改文本的字体大小)不透明度(使文本更不透明或透明)旋转(以一定角度旋转文本)阴影(通过添加阴影效果使文本更加可见...:图片(您可以在Mac上选择任何JPG,PNG,TIFF,GIF或BMP图片)缩放(根据需要更改所选图像的缩放比例)不透明度(使图像更不透明或透明)旋转(以一定角度旋转图像)质量(增加或降低图像质量)位置

    2.8K30

    PDF技术 -Java实现Html转PDF文件

    ,少一个结束标签就会报错; 服务器需要安装字体 需要安装软件、时间效率不高 对部分CSS样式不支持。...PD4ML实现html2pdf,速度快,纠错能力强可以过滤不规则的html标记,支持多种中文字体,支持css。 WKHtmlToPdf效果最好,但转换速度慢。...IText(技术老旧,对样式不支持) iText是一个第三方报表java插件,可以在后端利用java随意生成、转化pdf文件,提供了很多api,比较灵活 IText实现html2pdf,速度快,纠错能力差...Flying Sauser(技术老旧,对样式不支持) Flying Sauser实现html2pdf,纠错能力差,支持中文、支持简单的页面和样式,开源 对html代码要求很严格。...不开源,最新的demo版本,下载测试以后,发现不支持中文转换。必须购买商业版本才可以。(这里很坑,测试乱码问题通不过,后面发现是本来就不支持)。

    14.3K30

    在 PDF 文档中测量长度、周长和面积

    建筑设计图纸或蓝图总是以 PDF 格式保存,因为它即使在不同的操作系统上也能保持文档的显示效果和质量。对于常见的 PDF 编辑器来说,标记、编辑和签名是必不可少的功能。...在建筑、工程和施工(AEC)行业,对 PDF 测量工具的需求变得至关重要。现在,让我们深入了解测量工具,学习如何在 PDF 上进行测量。...自定义线条:个性化线条的颜色、不透明度、线条和边框样式、粗细、填充颜色、字体颜色等,以满足您的视觉偏好或特定要求。调整精度:调整测量精度,从整数到小数点后四位。...捕捉:将测量点捕捉到 PDF 页面上的图形。这种快速准确的对齐方式提高了测量的准确性和整体精度。放大:查看测量的放大版本,上方显示当前计算的测量值。...这些功能可让您更仔细地检查细节,并清晰、即时地显示与所选区域相关的测量值。

    1.4K10

    TCPDF_tcpip详解套装共3册pdf

    两种使用字体的方式:在 PDF 文件中嵌入字体和不嵌入字体。...在 PDF 中嵌入字体的好处是,即使查看这个 PDF 的 PC 上没有安装这个 PDF 用到的字体,这个 PDF 也能正常显示,但缺点就是因为在 PDF 文件中嵌入了字体,PDF 文件的体积会增大;不嵌入字体这种方式则相反...然后嵌入字体这种方式,又分为在 PDF 文件中嵌入所用字体的一个子集和完全嵌入。...中文字体 如果我们要在 pdf 中打印中文,就需要设置中文字体,tcpdf 默认支持两种中文字体:stsongstdlight 和 cid0cs。...标签的间距 首先,tcpdf 并不支持 CSS margin 属性;然后 tcpdf 为每个 html 标签都设置了默认的 margin;最后我们通过 setHtmlVSpace 函数对每个标签的 margin

    1.3K20

    Matplotlib 中文用户指南 4.8 XeLaTeXLuaLaTeX 设置

    图形也可以通过切换到该后端,直接编译并使用plt.savefig('figure.pdf')保存到 PDF。...('pdf', FigureCanvasPgf) 第二种方法允许你继续使用常规的交互式后端,并从图形用户界面保存 xelatex,lualatex 或 pdflatex 编译的 PDF 文件。...控制 pgf 后端行为的 Rc 参数: 参数 文档 pgf.preamble 包含在 LaTeX 序言中的行 pgf.rcfonts 使用 fontspec 软件包从 rc 参数设置字体 pgf.texsystem...字体规定 用于获取文本元素大小,或将图形编译为 PDF 的字体通常在 matplotlib rc 参数中定义。...Windows 上的限制会导致后端保留由应用程序打开的文件句柄。因此,可能无法删除相应的文件,直到应用程序关闭(参见#1324)。 有时保存到 png 图像的图形中的字体非常糟糕。

    2.2K20

    Markdown转PDF

    的关键依赖,TeXLive不支持中文,可以从yum源安装,也可以在官网下载,进行安装:https://tug.org/texlive/quickinstall.htmlyum install texliveTinyTeX...wget "https://yihui.name/gh/tinytex/tools/install-unx.sh"bash install-unx.sh(3)配置字体查看当前系统支持哪些字体,也可以查看指定语言的字体...,若没有相应字体,则对应语言渲染出的字符为乱码,需要下载字体到目录下,linux的字体目录是/usr/share/fonts/。...fc-list :lang=zh如果遇到更多字体相关问题,参考:https://github.com/jgm/pandoc/wiki/Pandoc-with-Chinese(4)代码示例Markdown.../wkhtmltopdf /usr/local/bin/wkhtmltopdfsudo chmod +x /usr/local/bin/wkhtmltopdf(3)配置字体参考上述Pandoc中的字体配置

    2K10

    创新工具:2024年开发者必备的一款表格控件(二)

    GcExcel 可与纯前端表格控件 SpreadJS 前后端兼容,为您开发的应用程序提供在线文档的前后端数据同步、在线填报与服务端批量导出与打印,以及类 Excel 报表模板设计与服务端高性能处理等一整套类...然而,某些环境存在限制,阻止用户直接在磁盘上存储字体。在这种情况下,用户只能提供字体流。例如,当用户将其应用程序部署为 Java 中的 war 包时,字体被打包在 war 包中。...在 GcExcel 的 Workbook 类中,已经加入了 Workbook.FontProvider 字段,以便用户通过字体流提供字体,用于自适应、PDF 导出和图像导出等任务。...另一方面,getFont 方法负责返回与给定字体文件路径对应的字体流。当用户使用 FontProvider 类时,GcExcel 将专门在字体流中搜索字体路径。...支持的多种情况包括: 根据其他列的顺序对当前列进行排序 根据多个其他列的顺序对当前列进行排序 自定义排序顺序 以下示例中,将按日期(列C)升序排序列A中的数据,然后按销售额(列D)降序排序。

    1.3K10

    Markdown 转 Word 并下载的完整指南:从前端实现到后端优化

    招投标文件、商务文档往往需要Word/PDF格式。Word支持页眉页脚、目录、封面等更复杂的排版。因此,Markdown→Word转换是一个高频需求。...常见技术选型场景推荐方案优点缺点前端快速实现marked+html-docx-js无需后端,简单直接样式有限,复杂文档支持差前端增强版marked+docx支持更多样式和自定义API较复杂后端Node.jsmarkdown-pdf.../pandoc支持PDF/Word,排版强大部署复杂后端Pythonpython-docx更灵活,适合批量需要额外环境三、前端实现:纯浏览器方案前端方案的最大优势是无需后端依赖,只需加载几个库即可完成。...###1.Node.js+PandocPandoc是最强大的文档转换工具,支持Markdown→Word、PDF、LaTeX等。...国际化支持Word默认字体可能不支持中文,需在CSS中设置font-family:SimSun,MicrosoftYaHei。性能优化大文件转换建议放到后端,避免前端内存占用过高。

    90200

    Python处理PDF——PyMuPDF的安装与使用

    PyMuPDF PyMuPDF(当前版本1.18.17)是支持MuPDF(当前版本1.18.*)的Python绑定。...- 可以提取或插入图像和字体 - 完全支持嵌入式文件 - pdf文件可以重新格式化,以支持双面打印,色调分离,应用标志或水印 - 完全支持密码保护:解密、加密、加密方法选择、权限级别和用户/所有者密码设置...Document.save()始终将PDF以其当前(可能已修改)状态存储在磁盘上。 通常,您可以选择是保存到新文件,还是仅将修改附加到现有文件(“增量保存”),这通常要快得多。....指向所选页面或某些外部资源)。...保存 Document.save()将始终以当前状态保存文档。 您可以通过指定选项incremental=True将更改写回原始PDF。

    8.8K30
    领券