Aspose.Words进行html转换word后出现很多空白页或页面不完整


测试文件需要解压,上传不了html:
ot.zip (77.2 KB)

结果文件:
Output (6).docx (100.7 KB)

怎么样使文档连贯起来,感觉现在是跟着原html的页数走,但aspose又做不到完全一致。

@spose8874 我用最新的“Aspose.Words for.NET”版本检查了转换,不幸的是,看不到您描述的问题。你能澄清一下你遇到了什么问题,你期望得到什么结果吗?如果你试图通过MS Word打开你的html文件,你会得到与通过“Aspose.Words”转换相同的结果。

这个结果我是拿官网的测试的,但我不知道官网测试的是否是最新版本,下图2213.jpg是截图


我想得到的结果是联顺的,同样都是html转换的,例子如下图,这个是比较完美的,打开并没有空白这些东西。
th.docx (90.1 KB)

我遇到的问题是我第一次上传的图片,打开很多空白的地方,而我上传的th.docx这个是别的人转换的效果,他可以文字保持效果很好,没有空白

@spose8874 “Aspose.Words”的工作原理与“MS Word”相同,并创建“SectionStart.NewPage”。要获得您想要的结果,您需要将“SectionStart.NewPage”替换为“SectionStart.Continuous”。

Document doc = new Document("ot.html");
foreach (Section section in doc.Sections)
{
    // Check if the section starts on a new page.
    if (section.PageSetup.SectionStart == SectionStart.NewPage)
    {
        // Change the section start to continuous.
        section.PageSetup.SectionStart = SectionStart.Continuous;
    }
}

doc.Save("output.docx");

我看到你试图使用云版本。您可以在云团队相关论坛上询问有关需要使用的代码的问题Aspose.Words Cloud Product Family - Free Support Forum - aspose.cloud.

那么我需要html转word 是需要Aspose.Words还是需要其他的aspose呢,用哪个可以保持排版并且保证docx中没有空白

@spose8874 您可以使用 “Aspose.Words ”和我上面提供的代码,也可以尝试使用 “Aspose.Html”。

下面是 “Aspose.Words for .NET ”的输出结果:
output.docx (100.7 KB)

官网在线dome测试页和Aspose.Words for .NET的结果并不是相同的对吗

@spose8874 官方网站演示执行类似于MS Word转换的简单代码转换。但在您的情况下,您需要使用额外的代码来获得所需的结果。

谢谢,还想问一下,Aspose有能力将html的在线演示的ppt转换为ppt吗?(保持动画效果以及结构)

html转换成docx后,里面的公式比文字都高一点有什么解决办法(原html中的公式本身就是图片)

@spose8874 您可以尝试查看Aspose.Slides转换为ppt。

@spose8874 在您提供的文档中,公式是一个图像,“Aspose.Words”将它们作为形状加载。您可以使用以下代码更新形状大小:

NodeCollection shapes = doc.getChildNodes(NodeType.SHAPE, true);
for (Shape shape : (Iterable<Shape>) shapes) {
    shape.setWidth(shape.getWidth() + 10);
    shape.setHeight(shape.getHeight() + 10);
}

sapose.words可以进行svg直接转换为word格式吗?有没有在线的演示html,还有具体调用使用方法等等

@spose8874 SVG不能直接转换为DOCX。您可以将svg作为html代码插入到文档中:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Here is an SVG image: ");
builder.InsertHtml(
    @"<svg height='210' width='500'>
        <polygon points='100,10 40,198 190,78 10,78 160,198' 
            style='fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;' />
      </svg> ");

doc.Save("output.docx");

或者,您可以使用以下命令将svg文件插入到文档中 [builder.insertImage(...)](https://reference.aspose.com/words/java/com.aspose.words/documentbuilder/#insertImage-java.lang.String)

svg插入的效果不如转换的效果好吧

@spose8874 当“Aspose.Words”转换svg图像时,它总是将此图像插入到文档中。在word文档中,该图像以形状对象的形式呈现,内部有图像。

图像是不能进行编辑的吧 1

words也是可以进行pdf转word操作的吧