解决WINFORM下面rtf不能在IE上面显示图片的问题

2024-03-28 03:18

本文主要是介绍解决WINFORM下面rtf不能在IE上面显示图片的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近做了一个项目.使用WINFORM做的。

后台用C/S模式通过RICHTEXTBOX录入了RTF格式的String类型的数据

在前台需要通过网页显示出来。在网上找了很多控件。原理大多数基于RTF转换成HTML。

试了许多,但是都只能转换文字。不能转换图片。

网上还有一种方法是分离RTF格式的文字和图片。学习了一下,比较复制。放弃了。

 

最后学习了WPF。记得WPF APPLICATION 与WPF 浏览器应用程序里面都有个控件RICTEXTBOX,

可以通过读写XAML存储图文。突发奇想。能够使用在WINFORM下面加入WPF控件吗

 

 

实验了一下。是可以的。

 

最后解决方案。

编写了一个WPF用户自定义控件。里面加入RICHTEXTBOX。

在加入方法。

  public string toxaml()
        {
           // Stream s = new MemoryStream();  // 其他的什么Stream类型都没问题
           XamlWriter.Save(
            MemoryStream s=new MemoryStream();
            TextRange documentTextRange = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);
            documentTextRange.Save(s, DataFormats.XamlPackage);
          return Convert.ToBase64String(s.ToArray());
            //return Convert.ToString(s.ToArray());

        }

这个方法主要实现把RICHTEXTBOX里面的内容转换成XAML格式。

 

在在WINFROM里面通过添加引用加入该控件。

 

 

浏览器要显示图文就可以通过WPF浏览器呈现技术

加入RICHTEXTBOX。

在通过一下这段代母读出来

 TextRange tr = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);
            convert string to MemoryStream 
            //MemoryStream ms = GetMemoryStreamFromString(buffer);
            //tr.Load(ms, DataFormats.XamlPackage); 
            MemoryStream s = new MemoryStream((Convert.FromBase64String(buffer)));
            //   XmlReader xr = XmlReader.Create(s);
            //FlowDocument fd = XamlReader.Load(xr) as FlowDocument;
            //this.richTextBox1.Document = fd;
            TextRange TR = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);
            TR.Load(s, DataFormats.XamlPackage);

这篇关于解决WINFORM下面rtf不能在IE上面显示图片的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854286

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作