簡體   English   中英

嘗試從PDF創建Tif。 圖像變差

[英]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.

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