-1
public FileResult Download() 
{ 

    var doc = new EO.Pdf.PdfDocument(); 
    EO.Pdf.HtmlToPdf.ConvertUrl("http://www.google.com/", doc); 

    var ms = new MemoryStream();     
    doc.Save(ms); 

    ms.Position = 0; 

    return new FileStreamResult(ms, "application/pdf") 
               { 
                   FileDownloadName = "download.pdf"
               }; 
}

可能であれば、上記のコードを拡張して、複数のWebページを1つのPDFドキュメントに変換できるようにする方法を教えてください。

トリッキーな部分は、ユーザーがどのページを変換しようとしているのかわからないことです。

したがって、上記のコードが示すようにWebページをハードコーディングしても、役に立ちません。

どんな助けでも大歓迎です。

//Create a new PdfDocument object
var doc = new EO.Pdf.PdfDocument();

//Convert two ore more different pages into the same PdfDocument

EO.Pdf.HtmlToPdf.ConvertUrl("c:\\1.html", doc);

EO.Pdf.HtmlToPdf.ConvertUrl("c:\\2.html", doc);

最新のコード:

public FileResult Download() 
{ 
    var doc = new EO.Pdf.PdfDocument(); 

foreach(var url in passedUrls)  
{ 
EO.Pdf.HtmlToPdf.ConvertUrl(url, doc);   
doc.Save(ms);   
}


    ms.Position = 0; 

    return new FileStreamResult(ms, "application/pdf") 
               { 
                   FileDownloadName = "download.pdf"
               }; 
}

アダムからの最新情報(ありがとうございます)

public FileResult Download() 
{ 

var documents = new List<EO.Pdf.PdfDocument>(); 
foreach(var url in passedUrls) 
{ 
    var doc = new EO.Pdf.PdfDocument(); 
    EO.Pdf.HtmlToPdf.ConvertUrl(url, doc); 
    documents.Add(doc); 
} 

EO.Pdf.PdfDocument mergedDocument = EO.Pdf.PdfDocument.Merge(documents.ToArray()); 
}

うまくいけば、他の人がこれらのコードが役立つと思うでしょう。

4

2 に答える 2

1

URL 文字列の配列を関数に渡します

それで

foreach(var url in passedUrls) 
{
EO.Pdf.HtmlToPdf.ConvertUrl(url, doc);  
doc.Save(ms);  
}
于 2012-07-19T15:32:55.603 に答える