[英]ABCPDF Converting Text PDF to Image PDF with correct layout
我正在嘗試將文本pdf轉換為圖像pdf,為此,我找到了以下文章:
所以我把代碼帶到了下面的代碼中:
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.