代码之家  ›  专栏  ›  技术社区  ›  Aneeq Azam Khan

在MigraDoc的更多页面上划分大图像

  •  1
  • Aneeq Azam Khan  · 技术社区  · 6 年前

    我是MigraDoc的新手。我有一个HTML上宽度约为9000px的图像。我想把它画成PDF格式。到目前为止,我只是创建了一个表,在其中添加了列,然后为该表创建了一行,然后

    TextFrame addressFrame = r2.Cells[0].AddTextFrame();
                    addressFrame.Width = "16cm";
                    addressFrame.Height = "22cm";
                    addressFrame.Orientation = TextOrientation.Downward;
                   // addressFrame.MarginLeft = "1cm";
                    MigraDoc.DocumentObjectModel.Shapes.Image image1 = addressFrame.AddImage(Utility.GetAbsolutePath(p_strPic1));
                    image1.Height = "25cm";
                    image1.Width = "40cm";
                    //image1.LockAspectRatio = true;
    

    但它只在一页上打印PDF格式的图像,但我希望这半张图片在一页上,然后保留在下一页上,即使图像大于两页,那么它应该再次扩展到下一页。

    1 回复  |  直到 6 年前
        1
  •  1
  •   I liked the old Stack Overflow    6 年前

    您可以根据需要添加分页符。没有自动设置将大型图像分割到多个页面。而AFAIR文本框也不会拆分为多个页面。

    您可以在将图像添加到MigraDoc之前分割图像。

    但您也可以在多个页面上绘制大图像,使图像的部分位于每个页面的可见区域之外。如果图像来自一个文件,那么它应该只包含在PDF中一次,因此在多个页面上使用相同的图像应该不会有文件大小问题。