2011-02-26 76 views
2
public ActionResult GeneratePdf(int id) 
{ 
    var labelRepository = new LabelRepository(); 
    var label = labelRepository.GetLabel(id); 
    if (String.IsNullOrEmpty(label.PDFLocation)) 
    { 
     var action = Url.Content("~/Label/ViewPdf/" + id); //doc 

     Doc theDoc = new Doc(); 
     string filename = Guid.NewGuid().ToString(); 
     string path = Server.MapPath("~/" + filename + ".pdf"); 

     theDoc.AddImageUrl("action"); 
     theDoc.Save(path); 
     theDoc.Clear(); 

     label.PDFLocation = path; 
     labelRepository.Save(); 

     return base.File(path, "application/pdf"); 
    } 
    else 
    { 
     return base.File(label.PDFLocation, "application/pdf"); 
    } 
} 

這不會添加我的圖像網址,所以我的PDF不會打開,所以我可以看到它。任何想法? -我的圖片不會添加C#

+1

您使用什麼庫來生成PDF? – RQDQ 2011-02-26 18:44:49

+0

你是什麼意思,它不會添加圖片網址? – msarchet 2011-02-26 18:46:18

+0

我正在使用ABCPdf – Samjus 2011-02-26 18:46:43

回答

2

在示例here中,完整的URL正在傳遞給AddImageUrl()函數,而不是URL的片段,如您的示例所示。

也許您需要致電RouteUrl(),以便您可以獲得完整的Url以傳遞給AddImageUrl()方法?

+0

我會看看這個RouteLink () – Samjus 2011-02-26 18:53:39

+0

@Samjus:看起來像'RouteLink'返回一個錨標記,而不是一個Url。讓我看看我能否找到更好的東西。 – 2011-02-26 18:55:21

+0

@Samjus:它就是'RouteUrl'。編輯我的答案。 – 2011-02-26 18:57:54