我了解ItextSharp可用于将文档转换为PDF。

但是首先,我们必须使用itextsharp.text.document从头开始创建文档,然后在此文档中添加元素。

如果我有一个现有的文档文件,是否可以使用itextSharp将此文档转换为PDF。

另外,我想使用ItextSharp或任何类似的工具,这些工具可以在文档文件上执行以下操作:

  1. 操纵DOC/DOCX/文本文件(例如用DB值替换某些占位符)以及
  2. 将它们转换为.pdf

任何对此有所了解的人,请分享。

谢谢!

有帮助吗?

解决方案

aspose.words 组件可以可靠地执行此操作(我没有附属或其他任何事情)。

ItextSharp没有所需的功能集来加载和处理MS Word文件格式。

其他提示

aspose.words确实是一个很好的解决方案,但并不能提供完美的保真度。在写作时,它在非罗马语言中存在问题,复杂的格式(例如浮动元素和许多其他问题)。

您可能想看看这个 PDF转换网络服务 可以从包括Java和.Net在内的任何具有Web服务的环境中使用。

请注意,我从事这个项目,因此适用通常的免责声明。

您可以使用Microsoft.Office的现有方法

 private Microsoft.Office.Interop.Word.ApplicationClass MSdoc;

    //Use for the parameter whose type are not known or say Missing
    object Unknown = Type.Missing;

  private void word2PDF(object Source, object Target)
    {   //Creating the instance of Word Application
      if (MSdoc == null)MSdoc = new Microsoft.Office.Interop.Word.ApplicationClass();

        try
        {
            MSdoc.Visible = false;
            MSdoc.Documents.Open(ref Source, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
             MSdoc.Application.Visible = false;
              MSdoc.WindowState =   Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMinimize;

            object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;

            MSdoc.ActiveDocument.SaveAs(ref Target, ref format,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown);
          }
           catch (Exception e)
          {
            MessageBox.Show(e.Message);
           }
         finally
          {
            if (MSdoc != null)
            {
                MSdoc.Documents.Close(ref Unknown, ref Unknown, ref Unknown);
                //WordDoc.Application.Quit(ref Unknown, ref Unknown, ref Unknown);
            }
            // for closing the application
            WordDoc.Quit(ref Unknown, ref Unknown, ref Unknown);
        }
    } 

如果您不在乎格式是否会忠于词会显示什么,那么有令人印象深刻的 DOCX2TEX 将Word 2007 DOCX文件转换为乳胶文档。进入乳胶后,您将有很大的能力编程地重新格式化文档,并从中生成PDF。

我在答案中说出更多关于公用事业的信息 Tex.Stackexchange.  

我确实有同样的问题。
经过几天的尝试找到解决方案,似乎 DOCX4J ,基于Java的工具或PDF打印机 PDFCreator, ,可能是免费解决方案之一。
可以肯定的是,只有商业工具可以有效地完成所要求的任务。
在Microsoft方面,您可以使用启用服务器端 SharePoint Word Automation Services, ,(2016年6月7日检查),或在本地计算机中进行互动。
建议的部分转换(DOC或DOC到某些中间语言,然后是PDF),用户在Stackoverflow或其他论坛上所说的话,因为结果不是预期的。

对于DOCX操纵,您应该使用本机开放XML方法。从Microsoft下载Open XML SDK 2。

然后,您可以使用此付费库将DOCX文件转换为PDF: http://www.subsystems.com/dpw.htm 。真的很棒。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top