簡體   English   中英

如何從大字符串值創建多頁Tiff文件

[英]How can I create a multi page Tiff file from a large string value

我有以下代碼,它接受一個字符串並創建一個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。

如果是這樣,請查看類似問題的答案:

https://stackoverflow.com/a/7675996/3937

結果是使用Bitmap.SaveAdd()將圖像添加到現有TIFF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM