2012-01-30 91 views
1

我需要將HTML轉換爲PDF。將html轉換爲pdf並自動旋轉並調整大頁面大小

我已經看過幾種不同的工具。

ActivePDF WebGrabber

  • 沒有正確地分析我們的網頁,只是返回的錯誤代碼

ExpertPDF HtmlToPdf Converter

  • 解析正確

這些是兩個我我真的下載了SDK,並且玩了一些其他的基礎研究。

我遇到的問題是我需要能夠格式化文件以具有不同的頁面大小和方向,我似乎找不到太多的支持。

例如,任何頁面上有一個img標籤太大,無法修復頁面potrait,應該將其頁面旋轉並製作一個a3(可能還有其他幾條規則)。

第二個選項確實有某種API來做到這一點。

pdfConverter.HtmlElementsMappingOptions.HtmlTagNames = new string[] {"IMG"}; 

var x =pdfConverter.GetPdfDocumentObjectFromUrl(textBoxWebPageURL.Text); 

foreach(HtmlElementMapping mapping in pdfConverter.HtmlElementsMappingOptions.HtmlElementsMappingResult) 
{ 
    foreach (var rectangle in mapping.PdfRectangles) 
    { 
     if (rectangle.Rectangle.Width + rectangle.Rectangle.Left > 595) 
     { 
      x.Pages[rectangle.PageIndex].Orientation = PDFPageOrientation.Landscape; 
      x.Pages[rectangle.PageIndex].PageSize.Width = 842; 
      x.Pages[rectangle.PageIndex].PageSize.Height = 1190; 
     } 
    } 
} 

x.Save(outFile); 

的問題是,它似乎是矩形絕不會在頁面之外,因爲它已經被剪掉,代碼改變頁面大小是永遠不會打。

有沒有其他的選擇可以提供類似這樣的功能?

+0

您可以將瀏覽器腳本編寫爲PDF ... – shaun5 2012-01-30 02:39:35

回答

0

我運行名爲DocRaptor的服務,該服務使用HTTP POST請求將HTMl轉換爲PDF。如果您知道哪些頁面需要調整圖像大小,那很容易解決。

但是,它不會自動檢測太大而不適合的圖像,儘管這可以使用CSS來處理。