2013-04-02 60 views
0

當使用HTML到PDF,我發現了奇怪的結果試圖對齊位在頁面的上止點
文字沒有彩色背景的股利。透明回地面

現在,我似乎無法得到一個h1或p墊從頂部
,但我可以得到一個div墊,但不對齊中心。

請給我任何提示。

:}

PdfReader template = new PdfReader(Server.MapPath("~/Cirtificate.pdf")); 
Document document = new Document(PageSize.A4); 
PdfWriter writer = PdfWriter.GetInstance(document, new  FileStream(Server.MapPath("~/test.pdf"), FileMode.Create)); 
document.Open(); 

PdfContentByte cb = writer.DirectContent; 
PdfImportedPage page = writer.GetImportedPage(template, 1); 
document.NewPage(); 
cb.AddTemplate(page, 0, 0); 

WebClient wc = new WebClient(); 
string htmlText = wc.DownloadString("http://localhost:65061/TEST_OUTPUT_PAGE.html"); 

StringReader sr = new StringReader(htmlText); 
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, sr); 
document.Close(); 

Response.Redirect("~/test.pdf"); 

CSS

html, body { 
    display: block; 
    clear: both; 
    float: left; 
    position: static; 
    overflow: visible; 
    width: 100%; 
    height: 100%; 
    margin: 0px; 
    border: 0px; 
    padding: 0px; 
    background-color: #fff; 
} 

body { 
    font-family: Arial, Sans-Serif; 
    text-align: center; 
    color: #000; 
    font-size: 12px; 
    line-height: 100%; 
    text-align: center; 
} 

回答

0

this page for a list of supported CSS styles上的各種對象。我建議使用<div>上的填充和<p>上的對齊將<p>包裝在<div>中。

var outputFile = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test1.pdf"); 
using (var fs = new FileStream(outputFile, FileMode.Create, FileAccess.Write, FileShare.None)) { 
    using (Document document = new Document(PageSize.A4)) { 
     using (PdfWriter writer = PdfWriter.GetInstance(document, fs)) { 
      document.Open(); 
      var html = "<html><head><title>Test</title></head><body><div style=\"padding-top:200px;\"><p style=\"text-align:center;padding-top:200px;\">This is a test</p></div></body></html>"; 
      using (StringReader sr = new StringReader(html)) { 
       XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, sr); 
      } 
      document.Close(); 
     } 
    } 
} 
+0

好的,謝謝生病讓我試試。謝謝。 –