1つの長いページに変換したい複数のページを含むtifファイルがいくつかあります。つまり、それぞれ8.5x11の2ページを含むファイルは、8.5x22のサイズの結果ファイルに変換されます。ページ分割を削除する方法はありますか?
複数のファイルを1つのファイルに変換する方法を尋ねているのではありません。
1つの長いページに変換したい複数のページを含むtifファイルがいくつかあります。つまり、それぞれ8.5x11の2ページを含むファイルは、8.5x22のサイズの結果ファイルに変換されます。ページ分割を削除する方法はありますか?
複数のファイルを1つのファイルに変換する方法を尋ねているのではありません。
私はこれを解決しました。次のコードのかなりの部分は、このページのScottHanselmanからのものです。
このC#関数は、ソース画像のファイル名とそのtiff出力の保存場所を取得します。
public static void RemovePageBreaks(string fileInput, string fileOutput)
{
using (Image image = Image.FromFile(fileInput))
using (MemoryStream m = new MemoryStream())
{
int width = image.Width;
int height = 0;
int pageCount = image.GetFrameCount(FrameDimension.Page);
height = image.Height * pageCount;
int pasteFrom = 0;
using (Bitmap compositeImage = new Bitmap(width, height))
using (Graphics compositeGraphics = Graphics.FromImage(compositeImage))
{
compositeGraphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
for (int page = 0; page < pageCount; page++)
{
image.SelectActiveFrame(FrameDimension.Page, page);
image.Save(m, image.RawFormat);
Rectangle rect = new Rectangle(0, pasteFrom, image.Width, image.Height);
compositeGraphics.DrawImageUnscaledAndClipped(image, rect);
pasteFrom += image.Height;
}
compositeImage.Save(fileOutput, System.Drawing.Imaging.ImageFormat.Tiff);
}
}
}