Ckeditor / WYSIWYG从pdf复制并保留样式/图像?(Ckeditor / WYSIWYG copy from pdf and retain style/images?)

编程入门 行业动态 更新时间:2024-10-26 06:32:48
Ckeditor / WYSIWYG从pdf复制并保留样式/图像?(Ckeditor / WYSIWYG copy from pdf and retain style/images?)

我搜查了很多,但无法得到答案。

我想保留从pdf复制的文本到WYSIWYG editor (Ckeditor)。 从Word文件复制时,我可以保留样式,但从PDF复制时,它的工作方式不同。

原始pdf是这样的(我不能发布图像,因为声誉< 10 ,请参考链接):

PDF文本

复制粘贴后显示以下输出:

在WYSIWYG编辑器中复制粘贴后

请为PDF到RTF转换建议插件或代码片段。

谢谢

I searched a lot but couldn't get the answer.

I want to retain copied text from pdf to WYSIWYG editor(Ckeditor). I can retain style while copied from Word files but it does not work the same way when copied from PDF.

Original pdf is like this(I can't post image as reputation is < 10 , please refer links):

PDF text

It shows following output after copy paste:

After copy paste in WYSIWYG editor

Please suggest plugin or code snippet for PDF to RTF conversion.

Thanks

最满意答案

CKEditor只能粘贴从浏览器获得的数据。 这意味着如果浏览器没有提供更多的数据,那么纯文本就没有任何CKEditor能够做到。

从版本4.5开始,CKEditor提供Facade来处理剪贴板API并获取直接粘贴到paste事件中的所有数据。 每个浏览器都提供不同的数据,您可以轻松检查它们:

editor.on( 'paste', function( evt ) { var types = evt.data.dataTransfer.$.types; console.log( types ); for ( var i = 0; i < types.length; i++ ) { console.log( evt.data.dataTransfer.getData( types[ i ] ) ); } // Additionally you can get information about pasted files. console.log( evt.data.dataTransfer.getFilesCount() ); } );

请注意,Internet Explorer不提供types数组,仅支持Text和URL类型。

要了解更多关于剪贴板集成的信息,请参阅本指南 尤其是“使用剪贴板API处理各种数据类型”一章,介绍如何将数据转换器与粘贴事件集成在一起,因此如果PDF数据在任何浏览器中都可用,则可以在粘贴过程中使用它们。

CKEditor can paste only data which it gets from the browsers. It means that if browsers do not provide more data then the plain text there is nothing CKEditor can do.

Since version 4.5 CKEditor provide facade to handle Clipboard API and get all data which are pasted directly in the paste event. Every browser provide different data and you can easily check them:

editor.on( 'paste', function( evt ) { var types = evt.data.dataTransfer.$.types; console.log( types ); for ( var i = 0; i < types.length; i++ ) { console.log( evt.data.dataTransfer.getData( types[ i ] ) ); } // Additionally you can get information about pasted files. console.log( evt.data.dataTransfer.getFilesCount() ); } );

Note that Internet Explorer does not provide types array and support only Text and URL types.

To learn more about Clipboard Integration see this guide. Especially "Handling Various Data Types with Clipboard API" chapter which describe how to integrate data converter with the paste event, so if the PDF data are available in any browser you can use them during pasting.

更多推荐

本文发布于:2023-07-29 20:15:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1319439.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:样式   图像   WYSIWYG   pdf   Ckeditor

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!