在vsto、Aspose.Words 中,默认没有直接的 API 可以让表格整体旋转 90 度。然而,我们可以通过一些方式来实现类似的效果,具体思路如下:
将表格插入到一个形状(Shape)或文本框中,然后旋转该形状。
将表格内容旋转,这通过设置文本方向为垂直来模拟旋转效果。

using Aspose.Words;
using Aspose.Words.Tables;
using Aspose.Words.Drawing;

class Program
{
    static void Main()
    {
        // 创建文档和 DocumentBuilder
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

        // 创建 Shape(文本框)
        Shape shape = new Shape(doc, ShapeType.TextBox);
        shape.Width = 200;  // 设置文本框的宽度
        shape.Height = 400; // 设置文本框的高度
        shape.WrapType = WrapType.None;
        
        // 旋转 Shape 90 度
        shape.Rotation = 90;

        // 将 Shape 添加到文档中
        builder.InsertNode(shape);

        // 创建一个新的 DocumentBuilder 用于 Shape 内部
        DocumentBuilder shapeBuilder = new DocumentBuilder(doc);
        shapeBuilder.MoveTo(shape.FirstParagraph);

        // 在 Shape 内部添加一个表格
        Table table = shapeBuilder.StartTable();
        shapeBuilder.InsertCell();
        shapeBuilder.Write("Cell 1");
        shapeBuilder.InsertCell();
        shapeBuilder.Write("Cell 2");
        shapeBuilder.EndRow();
        shapeBuilder.InsertCell();
        shapeBuilder.Write("Cell 3");
        shapeBuilder.InsertCell();
        shapeBuilder.Write("Cell 4");
        shapeBuilder.EndTable();

        // 保存文档
        doc.Save("RotatedTable.docx");
    }
}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部