簡體   English   中英

ABCPDF將文本PDF轉換為具有正確布局的圖像PDF

[英]ABCPDF Converting Text PDF to Image PDF with correct layout

我正在嘗試將文本pdf轉換為圖像pdf,為此,我找到了以下文章:

ABCpdf將文本轉換為圖像

所以我把代碼帶到了下面的代碼中:

WebSupergoo.ABCpdf9.Doc firstDoc = new WebSupergoo.ABCpdf9.Doc();
WebSupergoo.ABCpdf9.Doc secondDoc = new WebSupergoo.ABCpdf9.Doc();

firstDoc.Read(@"C:\pdf1.pdf");

for (int i = 1; i <= firstDoc.PageCount; i++)
{
    secondDoc.Page = secondDoc.AddPage();
    firstDoc.PageNumber = i;
    secondDoc.MediaBox.String = firstDoc.MediaBox.String;

    using (Bitmap bm = firstDoc.Rendering.GetBitmap())
    {
        secondDoc.AddImageBitmap(bm, false);
    }
}

secondDoc.Save(@"c:\pdf2.pdf");

現在,上面的代碼可以正常工作,除非我的pdf文檔具有縱向布局的某些頁面和橫向的其他頁面。 最終的結果如下:

假設我有一個包含的pdf文檔;

Page 1 - portrait
Page 2 - landscape
Page 3 - portrait
Page 4 - portrait

該代碼產生的結果是:

Page 1 - portrait
Page 2 - portrait
Page 3 - landscape
Page 4 - portrait

除了將MediaBox設置為具有正確的結果之外,我還有其他需要做的事情嗎?

感謝您在評論中提供的有用反饋,我能夠通過以下方式解決問題:

secondDoc.Page = secondDoc.AddPage();

secondDoc.MediaBox.String = firstDoc.MediaBox.String;

現在,工作代碼如下所示:

WebSupergoo.ABCpdf9.Doc firstDoc = new WebSupergoo.ABCpdf9.Doc();
WebSupergoo.ABCpdf9.Doc secondDoc = new WebSupergoo.ABCpdf9.Doc();

firstDoc.Read(@"C:\pdf1.pdf");

for (int i = 1; i <= firstDoc.PageCount; i++)
{
    firstDoc.PageNumber = i;
    secondDoc.MediaBox.String = firstDoc.MediaBox.String;
    secondDoc.Page = secondDoc.AddPage();

    using (Bitmap bm = firstDoc.Rendering.GetBitmap())
    {
        secondDoc.AddImageBitmap(bm, false);
    }
}

secondDoc.Save(@"c:\pdf2.pdf");

暫無
暫無

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

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