首先推荐大家读一读这篇博文:http://blog.csdn.net/ibingow/article/details/8613556

----------------------------------------------------------------------------

word-to-latex(下载地址:http://www.wordtolatex.com),顾名思义。是用来将doc和docx文件转化为tex文件的(事实上还能够转化为xml文件)。有一个名称和word-to-latex非常相似的软件。叫word2tex(下载地址:http://www.word2tex.com),百度搜索word转为latex。出来的结果大多是这个word2tex。遗憾的是word2tex仅仅能支持到Microsoft Office
2010 32-bit,office 2013和2016以及64bit的office都不能用(本人亲測不能用)。有些跟不上时代。只是它的官网上有另外一个好东西:Tex2Word.

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

word-to-latex能够支持64bit的office。可支持到office 2013 ,在office 2016上会出现:执行时错误‘429’:ActiveX部件不能创建对象。真可惜啊真可惜!

word-to-latex在win 10 x64上也能正常安装和使用(尽管它的官网上仅仅提到win8没提到win10)。

官网上另一句提示:MathType is needed for converting MathType and Equation Editor equations!

(要转换MathType和word公式编辑器的公式,必须安装MathType)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

装好后进入安装路径(默认是C:\Program Files (x86)\Word-to-LaTeX)看一看,一共8个dll文件,当中6个是mathtype的(mt5.dll; mt6_7.dll; mt6_8_32.dll; mt6_8_64.dll; mt6_9_32.dll;mt6_9_64.dll;含义非常明白。自己思考吧)。话说你都把人家mathtype的文件复制过来了,为什么又要求用户装mathtype呢???另外两个名字非常长的dll,是word-to-latex自己的。在后面要讲到的用.NET
Reflector加载的就是这两个文件。

再看看好压MD5校验的结果(注意观察dll文件的路径)以及文件的属性:

word-to-latex在安装过程中还可能出现例如以下问题:參数无效,操作无法完毕(不知道怎么解决)

假设正常完毕安装。那么在控制面板的“设备和打印机”中应该看到EPS打印机:

个人觉得,这个eps打印机没什么用处。

图片插入word后默认会被压缩,word 2013最高支持220ppi的位图。(word 2016有所进步,最高支持330ppi的位图)。

在此提供一个方法看看图片插入word后相较原图片到底缩小了多少。把一个含有图片的docx文件的后缀docx改为zip(docx,xlsx,pptx文件本质上都是zip压缩包),用解压软件直接打开,能够看到三个目录(_rels,docProps,word)和一个名为[Content_Types].xml的文件:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

打开里面的word目录,再打开media目录,docx中的所有图片均在这个media目录里面,换句话说,这样便能够方便地提取一个docx文件里的所有图片,然后跟原始图片对照一下~

质量已经下降的图片再经过一次转化(转化为eps格式),即使转化过程没有导致质量进一步下降,得到的图片也没实用处了。由于杂志社的要求是:有矢量图的就提供矢量图;若是位图。就提供未经压缩、未经格式转换的高清原图(分辨率不低于300dpi。最好600dpi)。综上所述。我建议你把Images的Action设置为Ignore,能够节省转换时间:

word-to-latex正常完毕安装后,在word中应该看到例如以下载入项:

假设你没装word,貌似会出现例如以下问题:没有注冊类;server执行失败。

假设你用的是wps而不是word,貌似会出现例如以下问题:指定的參数数目与所需数目不匹配。(话说国外的软件开发人员哪知道中国的wps呢!

!。)

我有较大的把握认定word-to-latex必须依赖word,而不能独立执行,除了上面提到的症状(反正就是不能转换)。另一条理由:每次使用word-to-latex后,word的近期使用文件列表中就会添加一项名字为13位纯数字的文件。再把鼠标悬停上去看看这些文件的路径……

在word的VBA编辑器(按Alt+F11启动)中能够看到word-to-latex的Project,而且被锁定,“不可查看”。

真的不能查看吗?呵呵!

进入word-to-latex的安装路径(默认是C:\Program Files (x86)\Word-to-LaTeX)。然后进入templates目录,找到Word-to-LaTeX.dotm,双击打开。然后word就变成这样:

word-to-latex出现两次(看右上角),点“启用内容”,再按Alt+F11进入VBA编辑器,能够看到word-to-latex的project也出现了两次。当中一个能够查看,还有一个还是锁定。进入:模块>Module1,

咱们来看一看它的代码:

-----------------------------------------------------------------------------------------------

Option Explicit

#If Win64 Then

    Private Declare PtrSafe Function ShellExecute _

      Lib "shell32.dll" Alias "ShellExecuteA" ( _

      ByVal hWnd As Long, _

      ByVal Operation As String, _

      ByVal Filename As String, _

      Optional ByVal Parameters As String, _

      Optional ByVal Directory As String, _

      Optional ByVal WindowStyle As Long = vbMinimizedFocus _

      ) As Long

#Else

    Private Declare Function ShellExecute _

      Lib "shell32.dll" Alias "ShellExecuteA" ( _

      ByVal hWnd As Long, _

      ByVal Operation As String, _

      ByVal Filename As String, _

      Optional ByVal Parameters As String, _

      Optional ByVal Directory As String, _

      Optional ByVal WindowStyle As Long = vbMinimizedFocus _

      ) As Long

#End If

'Callback for buttonWordToLaTeXConvert onAction

Sub actionWordToLaTeXConvert(control As IRibbonControl)

    Dim productKey As String

    Dim app As Object

    productKey = Application.ProductCode

    'If Mid(productKey, 21, 1) = "1" Then

    '    MsgBox "Word-to-LaTeX Add-in for Microsoft Word does not support Microsoft Office 2010 64bit." _

    '        & vbCrLf & vbCrLf & "Please run Word-to-LaTeX by clicking icon on your Desktop or in the Windows Start Menu." _

    '        , vbInformation, "Word-to-LaTeX"

    If Documents.Count = 0 Then

        MsgBox "No document is open.", vbInformation, "Word-to-LaTeX"

    Else

        If Not ActiveDocument.ReadOnly Then

            If Not ActiveDocument.Saved Then

                ActiveDocument.Save

            End If

        End If

        

        If ActiveDocument.Content.End <= 1 Then

            MsgBox "The document is empty.", vbInformation, "Word-to-LaTeX"

        ElseIf ActiveDocument.Saved Then

            Set app = CreateObject("WordToLatex.Gui.WLConvertorAddin")

            app.Startup Application, ActiveDocument

            app.Convert

            app.Shutdown

        Else

            MsgBox "Please save the document before running Word-to-LaTeX.", vbInformation, "Word-to-LaTeX"

        End If

    End If

End Sub

'Callback for buttonWordToLaTeXHelp onAction

Sub actionWordToLaTeXHelp(control As IRibbonControl)

    Dim lSuccess As Long

    lSuccess = ShellExecute(0, "Open", "http://www.wordtolatex.com/manual")

End Sub

'Callback for buttonWordToLaTeXUpload onAction

Sub actionWordToLaTeXUpload(control As IRibbonControl)

    Dim lSuccess As Long

    lSuccess = ShellExecute(0, "Open", "http://www.wordtolatex.com/upload")

End Sub

'Sub WordToLaTeX(inputFile As String, outputFile As String, optionsFile As String, basePath As String, log As Object, events As Object)

'    Dim convertor As Object

'    Set convertor = CreateObject("WordToLatex.WLConvertor")

'    convertor.Init inputFile, outputFile, optionsFile, basePath, log, Application, events

'    convertor.Convert

'End Sub

-------------------------------------------------------------------------------------------

    上面的代码的第二行。第三行:

#If Win64 Then

    Private Declare PtrSafe Function ShellExecute _

看到这两句,就知道这个软件为了支持64位的office。确实付出了努力。

在第30行的凝视中有一句略显奇怪(注意:不是代码。是凝视。也能够说是作废的代码):

Word-to-LaTeX Add-in for Microsoft Word does not support Microsoft Office 2010 64bit. Please run Word-to-LaTeX by clicking icon on your Desktop or in the Windows Start Menu. 你在官网上不是说了支持office 2010的吗?难道是office 2010非常特殊,你仅仅能支持其32位版而不能支持其64位版?或者以前不支持2010,如今进步了能够支持了,所以把以前写的代码加上凝视符号相当于删掉?

接下来解决关键问题:How to crack.(Of Course。本人已经制作好破解版了,不喜欢自己动手的就直接去下载: http://pan.baidu.com/s/1sksZsst,另外,破解步骤已经录下来了。想看的能够上优酷看:http://v.youku.com/v_show/id_XMTQ2MDAzMzUzMg==.html )

我在这里把破解步骤再演示一遍,先查壳:



去下载这两个东西:

.NET Reflector (下载地址:http://www.red-gate.com/dynamic/products/dotnet-development/reflector/download)

Reflexil.Reflector.AIO.dll (下载地址:http://www.cr173.com/soft/62031.html 。这个dll文件是上面软件的插件)

装插件:在.NET Reflector中。Tools>Add-Ins,再点右下角的“+”,然后选中Reflexil.Reflector.AIO.dll就ok.

有时候会出现:Could not load file or assembly 'file:///……(意思就是无法安装插件)

还有时候会变成中文:未能载入文件或程序集 'file:///……

真是“长太息以掩涕兮,哀吾生之多艰”,这应该是.NET Reflector本身的bug,解决方法是把Reflexil.Reflector.AIO.dll换个位置存放(比方说换到C盘、D盘的根文件夹。一定要多换几个位置试试)。插件装好后。把word-to-latex的安装路径(默认是C:\Program Files (x86)\Word-to-LaTeX)中的两个dll文件加进来。File>Open Assembly,选中word-to-latex-gui-lib.dll和word-to-latex-lib.dll,

在左側的最以下找到word-to-latex-lib(2.56.0.0)。左键单击选中它。然后Tools > Search,输入register

点右边第三个图标Search String or Constant。然后找到AboutForm_Shown,双击。再到以下找到isRegistered。点一下。

在左側找到这个:get_isRegistered():Boolean,(它的上一层是isRegistered:Boolean,左側本来是+,点击+号展开,就能看到:get_isRegistered():Boolean),左键单击选中它,然后Tools >Reflexil v1.6(这就是之前安装的插件)

在Reflexil的面板上右键,replace all with code

把return后面的default(bool)改为true。注意行尾另一个分号。不要删去分号。然后左下角Compile,再右下角OK.

在左側找到word-to-latex-lib(2.56.0.0),左键单击选中它。然后右键,Reflexil v1.6 > Save as

它试图在C:\Program Files (x86)\Word-to-LaTeX中保存名为word-to-latex-lib.Patched.dll的文件。可是.NET Reflector 不是以管理员身份执行的,全部没有写入权限。随便换个地方保存就好了。

注意保存时把名字改为word-to-latex-lib.dll(把Patched.删去),然后用这个改动过的dll文件替换C:\Program Files (x86)\Word-to-LaTeX中同名的dll文件,遇到“目标目录訪问被拒绝”,“继续”就可以。至此。大功告成。

来赞赏一下成果:

再看看这个软件的其他界面吧。

假设想知道该怎样汉化这个程序。能够參看我的还有一篇博客 http://blog.csdn.net/pijianzhirui/article/details/68948796

.NET 逆向project工具还有 ILSpy。DotPeek。JustDecompile。CodeReflect,有兴趣的能够尝试一下。

怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释的更多相关文章

  1. WPF: 读取XPS文件或将word、txt文件转化为XPS文件

    读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" xm ...

  2. WFP: 读取XPS文件或将word、txt文件转化为XPS文件

    读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow"    ...

  3. Netlib文件转化为mps文件

    Netlib文件转化为mps文件 简单方法1 下载并执行: git clone https://github.com/mtanneau/Netlib_experiments.git cd Netlib ...

  4. jupyter命令把.ipynb文件转化为.py文件

    jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件

  5. 使用vivado将bit文件转化为mcs文件

    使用vivado将bit文件转化为mcs文件 1.在Tcl Console中运行脚本: write_cfgmem -force -format MCS -size 64 -interface spix ...

  6. 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)

    最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...

  7. plink格式文件转化为vcf文件(VCF versions convert)

    plink1.9版本支持转化为VCFv4.2格式 plink2.0版本支持转化为VCFv4.3格式 两个版本用到的命令不一样 对于plink1.9版本,转化为vcf文件的命令行为: plink --b ...

  8. 如何将freemarker文件转化为html文件

    最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用. freemarker基础可以参见:freemarker官方文档 前期准备:需要一个基础的ftl格式的 ...

  9. Python脚本:批量将.doc文件转化为.docx文件

    将.doc转换为.docx文件有几种常用的方法: Microsoft Word 和 WPS 自带.doc转换.docx功能,但只能一个文件一个文件转换,批量转换要会员 在线网页 Office-Conv ...

  10. C++ 利用 libxl 将 Excel 文件转化为 Xml 文件

    在游戏开发工作中,策划和运营一般会用Excel来编写配置文件,但是程序读取配置,最方便的还是xml文件.所以最好约定一个格式,然后在二者之间做一个转化. 本文利用libxl来读取Excel文件,利用 ...

随机推荐

  1. Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之登录功能

    昨天的博客中我分享了个人关于ssh实现员工管理的框架整合,今天我在分享管理员登录功能的实现.  转载请注明出处"http://www.cnblogs.com/smfx1314/p/78013 ...

  2. struts2框架的登录制作

    首先:我们要建一个web项目 接着: 我们先来导入struts的xml文件 第一步:右击你的项目名,鼠标到MyEclipse会看到一个add struts开头的文件,点开以后看到: 这里我们选择str ...

  3. Hibernate开发文档

    hibernate配置 映射约束文件 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3. ...

  4. oracle数据库冷备中的手工备份和恢复

    我的操作系统是red hat5.5 32位系统oracle11g 以我的系统为例: 冷备状态下,数据库必须是关闭的,但是我们现在要做一个实验,在开库的状态下分别查询出: 1.show paramete ...

  5. Django中ORM表的创建以及基本增删改查

    Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象.因此用ORM来操作数据库相当快捷.今天 ...

  6. Maven快速使用阿里云的代理maven仓库

    自从开源中国的maven仓库挂了之后就一直在用国外的仓库,慢得想要砸电脑的心都有了.如果你和我一样受够了国外maven仓库的龟速下载?快试试阿里云提供的maven仓库,从此不在浪费生命…… 仓库地址: ...

  7. spirngMVC的搭建

    1 springMVC的搭建肯定是需要用到一系列的jar包的,那么第一步就是去spring官网下载对应版本的jar包 可以通过 http://www.cnblogs.com/imentors/p/49 ...

  8. 菜鸟谈谈C#中的构造函数和析构函数

    本节说明对象的创建.初始化和销毁过程.本节介绍下列主题: l         类构造函数 l         结构构造函数 l         析构函数 类构造函数 本节将讨论三种类构造函数: 类构造 ...

  9. iOS11、iPhone X、Xcode9 适配

    更新iOS11后,发现有些地方需要做适配,整理后按照优先级分为以下三类: 1.单纯升级iOS11后造成的变化: 2.Xcode9 打包后造成的变化: 3.iPhoneX的适配 一.单纯升级iOS11后 ...

  10. python 小白(无编程基础,无计算机基础)的开发之路 day2

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...