首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ASP.NET核心中查找和替换以创建新的word文档并转换为pdf

在ASP.NET核心中查找和替换以创建新的word文档并转换为pdf
EN

Stack Overflow用户
提问于 2022-02-22 15:11:40
回答 1查看 317关注 0票数 -1

我希望在Word文档中找到并替换一些变量,以形成一个新的文档(旧的文档仍然完好无损)。然后将新Word文档作为PDF发送给客户。

我已经完成了查找和替换,并创建了一个新的XML newWordText,但是我不得不将它转换回Word文档/ PDF或字节数组,我可以返回客户端或以电子邮件的形式发送PDF。

到目前为止,我在堆栈溢出/internet上看到的例子都是有帮助的。

但我不能像我预期的那样去工作

更新:我尝试将转换为字节并获取base64String。我使用在线base64转换成pdf格式,但我得到了

有些地方出了问题,无法打开文件

代码语言:javascript
复制
public async Task<string> CreatePolicyDocument(string PolicyNumber)
{
    // create document
    var files = @"C:\Users\pathtodocument\Testdocument.docx";

    using (WordprocessingDocument wordDoc =  WordprocessingDocument.Open(files, true))
    {
        // Insert other code here.
        string docText;

        using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
        {
            docText = sr.ReadToEnd();
        }

        Regex regexText = new Regex("XCONCLUSION_DATEX");
        var newWordText = regexText.Replace(docText, "Hi Everyone!");

        using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
        {
            sw.Write(newWordText);
            Encoding encoding = Encoding.UTF8;
            byte[] docAsBytes = encoding.GetBytes(newWordText);
            File.WriteAllBytes("hello.pdf", docAsBytes);
            var file = Convert.ToBase64String(docAsBytes);
        }
    }

    // send message
    //
    return "";
}
EN

回答 1

Stack Overflow用户

发布于 2022-02-23 02:39:24

Write应该能够在windows 10/11上将docx转换为PDF (我已经多次使用它),但是在这里,我必须使用XPS来演示如何进行类似的操作。

但是可以打印到我的远程GhostScript打印机(如果它被打开),所以使用write的关键是指定打印机&驱动程序,然后输出文件名,所以在您的情况下是:-

write /pt input.docx "Microsoft Print to PDF" "Microsoft Print to PDF" output.pdf

许多用户抱怨,但它不是无头或沉默,我的答案是尝试运行许多打印机静默,您将有问题,因为他们非常需要/使用WINDOWS工作站GDI。另一种抱怨是写不会处理我的单词DocX --它太专业了,在这种情况下,除了Word之外,其他任何东西都不可能删掉它。保持模板的简单和普遍接受。

至于您的其他问题,docx文件只是压缩,所以使用Windows10/11 Tar -a blah blah或Windows7/8/9,然后在FnR更改后使用powershell重新压缩文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71223715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档