[英]Trying to create Tif from PDF. Getting bad image
我正在嘗試使用Itextsharp和Bitmiracle從pdf文件創建tif圖像。
首先,我嘗試使用iTextsharp獲取pdf文件每一頁的字節詳細信息。
string bpp = pd.Get(PdfName.BITSPERCOMPONENT).ToString();
PixelFormat pixelFormat;
switch (bpp)
{
case "1":
pixelFormat = PixelFormat.Format1bppIndexed;
break;
case "8":
pixelFormat = PixelFormat.Format24bppRgb;
break;
default:
throw new Exception(String.Format("Unknown pixel format {0}.", bpp));
}
之后,使用bitmiracle將圖像保存為tiff格式。 但是圖像不可見。
string filter = PDFStremObj.Get(PdfName.FILTER).ToString();
switch (filter)
{
case "/FlateDecode":
byte[] arr = PdfReader.GetStreamBytes((PRStream)PDFStremObj);
Bitmap bmp = new Bitmap(Int32.Parse(width), Int32.Parse(height), PixelFormat.Format24bppRgb);
BitmapData bmd = bmp.LockBits(new System.Drawing.Rectangle(0, 0, Int32.Parse(width), Int32.Parse(height)), ImageLockMode.WriteOnly,
PixelFormat.Format24bppRgb);
Marshal.Copy(arr, 0, bmd.Scan0, arr.Length);
bmp.UnlockBits(bmd);
bmp.Save(strFileNewName, System.Drawing.Imaging.ImageFormat.Tiff);
bmp.Dispose();
page++;
break;
}
請幫助我解決代碼中的問題或建議我進行更改。
在此先感謝您的幫助。
您可以參考下面的鏈接。
http://www.codeproject.com/Articles/37458/PDF-Viewer-Control-Without-Acrobat-Reader-Installe
從那里有一個選項,可以將pdf轉換為tiff文件或其他文件。
我不認為可以將數組復制到位圖數據。 步幅可能不同,位深度可能不同,字節順序可能不同,等等,等等。Lajja Thaker發布了一種實現方法。 另請注意,在Windows XP下,不支持某些彩色的tiff。
Bitmiracle不是圖書館, 而是軟件公司的名稱,您嘗試使用的是libtiff嗎? 也許您可以與Bitmiracle聯系以獲取有關您正在執行的任務的支持。
您不能僅通過從PDF中提取二進制數據並將其轉儲到位圖對象中來從PDF創建tiff圖像。 這就像通過擠壓蘋果來制成橙汁一樣。
如果要將PDF文件轉換為TIFF圖像,我建議您使用允許您渲染PDF文件的庫。 使用C#搜索PDF到圖像的轉換以獲取更多詳細信息。
如果您只想從PDF文件中提取已壓縮為TIFF的圖像,則可以提取二進制數據並將其保存在其他位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.