首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将aspose.pdf文档转换为aspose.pdf.generator文档

将aspose.pdf文档转换为aspose.pdf.generator文档
EN

Stack Overflow用户
提问于 2015-01-10 16:36:36
回答 1查看 2.1K关注 0票数 0

我有一个现有的过程,它使用aspose.pdf.generator在内存中构建各种PDF文档。然后,该过程将PDF文件连接起来,并在最后将一个PDF返回给用户。

我现在需要将现有的Word文档插入到连接过程中。我可以将单词docs作为Aspose.Words文档导入内存。如何在不同位置将Aspose.Words文档插入到Aspose.PDF.Generator文档中?如果我能够将每个Aspose.Words文档转换为一个Aspose.PDF.Generator文档,我就可以将该方法干净地插入到我的流程中。

此对象var msDoc = new Aspose.Words.Document(ms);需要插入到类型为Aspose.PDF.Generatorr.Pdf的tdocs.pdf属性中。

代码语言:javascript
复制
        PdfFileEditor pdfEditor = new PdfFileEditor();
        MemoryStream outStream = new MemoryStream();
        MemoryStream[] streamArray = new MemoryStream[tdocs.Count];

        int i = 0;
        foreach (var tdoc in tdocs)
        {
            MemoryStream inputStream1 = new MemoryStream();
            tdoc.Pdf.Save(inputStream1);
            streamArray[i] = inputStream1;
            i++;
        }
        pdfEditor.Concatenate(streamArray, outStream);

        using (FileStream file = new FileStream(filePath, FileMode.Create, System.IO.FileAccess.Write))
        {
            byte[] bytes = new byte[outStream.Length];
            outStream.Read(bytes, 0, (int)outStream.Length);
            file.Write(bytes, 0, bytes.Length);
            outStream.Close();
        }

        return fileName;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-11 05:53:04

您可以使用Aspose.Words.Save(stream,Aspose.Words.SaveFormat.Pdf)方法将Word文档保存到PDF (流)中。并在pdfEditor.Concatenate()中使用此流。

我假设tdoc是您的类,包含有关pdf文档的信息。您可以通过添加多一个布尔成员(IsPdf)来修改它以处理PDF和Word文档。

代码语言:javascript
复制
foreach (var tdoc in tdocs)
{
    if (tdoc.IdPdf)
    {
        MemoryStream inputStream1 = new MemoryStream();
        tdoc.Pdf.Save(inputStream1);
        streamArray[i] = inputStream1;

    }
    else
    {
        // If it is a Word document, use Aspose.Words.Document.Save()
        Aspose.Words.Document wordDoc = new Aspose.Words.Document(tdoc.wordFilePath);
        streamArray[i] = new MemoryStream();
        wordDoc.Save(streamArray[i], Aspose.Words.SaveFormat.Pdf);
    }
    i++;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27878489

复制
相关文章

相似问题

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