zoukankan      html  css  js  c++  java
  • 解决用word修改博客后字体变大的问题

    我平时喜欢用Word写Blog,但当用它打开已经发布的文章时,会将默认字体变成小四,再次发布后字体变大不少。例如,我最初的文章是:

        <p>Hello 123</p>

    当用Word打开,再次发布后生成的html代码如下:

        <p><span style="font-family:宋体; font-size:12pt">Hello 123</span></p>

    就和原来的不一样了,整篇文章字变大了不少。

    我最初以为是博客园的bug,还给园子提过问题,后来得到回复是这个是Word的Bug。便自己抓包看了下,这个这个确实是Word的Bug,打开文章是并没有返回样式信息,但Word却自主的给默认字体加上了小四的样式,用别的博客工具打开就没有这个问题。不过这个Bug只要不打开重新编辑就没有问题,影响不太大,也就懒得管它了。

    这两天想把之前写的两篇文章给改一下,然后就被这个Bug给郁闷了。虽然别的Blog客户端没有这个Bug,但它们的编辑能力和Word不是一个级别的。在网上搜了下,也没有找到什么方法,也不可能指望Word能主动解决这个Bug,那么就只能自己动手解决这个Bug了。

    我以前写过一个工具,用于解决Word无法发布图片的Bug——用word2007在博客园发布带图片的blog。要解决这个问题,思路是一样的:写一个代理程序,捕获Word发布的Blog文章,修改后转发给服务器由于那篇文章写得很古老,代码早就被我删了,因此无法参考。另外,原来的那个代码有个比较麻烦的地方,就是得自己虚拟一个新账户来转发文章,设置和使用都比较麻烦。

    参考了以前的方案和问题,这次采用的方案是:写一个代理程序,启动后修改系统代理设置为该程序,即可自动捕获Word发布的Blog文章,修改后转发给服务器制定完修改方案后,感觉就是一个小型的Fiddler,就干脆用Fiddler实现了,由于Fiddler已经完成了大部分的工作,因此我要实现的关键代码就三行:

        FiddlerApplication.BeforeRequest += oS =>
            {
                if (!oS.fullUrl.Contains("/TianFang/services/metaweblog.aspx"))
                    return;

                oS.bBufferResponse = true;
                oS.utilReplaceInRequest("style=\"font-family:
    宋体; font-size:12pt\"", "");
            };

    为了更好的使用它,我写了一个WinFrom版的程序(.net 2.0环境):点击下载

        

    这个程序使用非常简单,什么都不用设置。只要在用的时候把它打开,当要发布修改后的文章时,会自动去掉那个多余的小四字号的设置。

    注意事项:

    1. 默认的API地址可能只适用于博客园,如果要使用其它的Blog请修改其API地址,程序会自己记忆,下次打开时仍会使用该地址。
    2. 该程序修改了全局的代理设置,可能影响上网的网速,因此,在不用的时候最好不要打开它。
  • 相关阅读:
    Linux命令学习Day1
    谈谈VAssitX Snippet
    Visual Studio sort函数出现“invalid operator<”原因分析
    网络打印机共享设置
    Notepad++使用总结
    Leetcode顺时钟旋转90度
    搭建Docker版gitlab私有云
    获取安卓APP设备上报信息
    中间件服务测试点整理
    Jenkins主从模式添加节点机
  • 原文地址:https://www.cnblogs.com/TianFang/p/2855211.html
Copyright © 2011-2022 走看看