C# 如何从大字符串值创建多页Tiff文件

C# 如何从大字符串值创建多页Tiff文件,c#,text,image-manipulation,tiff,C#,Text,Image Manipulation,Tiff,我有以下代码,它接受一个字符串并创建一个Tiff文件 string sFileData = "Hello World"; string sFileName = "Bitmap.bmp"; Font oFont = new Font("Arial", 11, FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel); var sz = GraphicsHelper.MeasureString(sFileData, oFont); var oBitma

我有以下代码,它接受一个字符串并创建一个Tiff文件

string sFileData = "Hello World";
string sFileName = "Bitmap.bmp";

Font oFont = new Font("Arial", 11, FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel);
var sz = GraphicsHelper.MeasureString(sFileData, oFont);

var oBitmap = new Bitmap((int)sz.Width, (int)sz.Height);

using (Graphics oGraphics = Graphics.FromImage(oBitmap)) {
    oGraphics.Clear(Color.White);
    oGraphics.DrawString(sFileData, oFont, new SolidBrush(System.Drawing.Color.Black), 0, 0);
    oGraphics.Flush();

}

oBitmap.Save(sFileName, System.Drawing.Imaging.ImageFormat.Tiff);

public static class GraphicsHelper {
    public static SizeF MeasureString(string s, Font font) {
        SizeF result;
        using (var image = new Bitmap(1, 1)) {
            using (var g = Graphics.FromImage(image)) {
                result = g.MeasureString(s, font);
            }
        }
     return result;
    }
}
当字符串的宽度和高度不超过A4纸的大小时,这种方法可以很好地工作。然而,我现在的问题是,我需要能够打印这个Tiff到打印机

因此,我需要一种方法将任何文本包装到A4页的宽度,如果高度超过A4页的高度,则需要将文本转到下一页


有谁能举例说明我是如何做到这一点的吗?

您已经在测量字符串并知道A4的大小,因此我假设您的问题是您不知道如何创建包含多个页面的TIFF

如果是这样的话,请看以下类似问题的答案:

结果是使用
Bitmap.SaveAdd()
将图像添加到现有TIFF