C# 将Html字符串转换为pdf itextSharp时未应用样式
下面是我试图生成pdf的代码。 追加Html字符串并转换为Pdf, Pdf正在生成,但样式未应用C# 将Html字符串转换为pdf itextSharp时未应用样式,c#,css,asp.net,itext,pdfhtml,C#,Css,Asp.net,Itext,Pdfhtml,下面是我试图生成pdf的代码。 追加Html字符串并转换为Pdf, Pdf正在生成,但样式未应用 protected void Demo() { StringBuilder sb = new StringBuilder(); sb.Append("<header class='clearfix'>"); sb.Append("<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">");
protected void Demo()
{
StringBuilder sb = new StringBuilder();
sb.Append("<header class='clearfix'>");
sb.Append("<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">");
sb.Append("<tbody>");
sb.Append("<tr>");
sb.Append("<td style=\"height:47px; width:175px;\">");
sb.Append("<p>");
sb.Append(" <style=\"width:205px; height:35px;\"></p>");
sb.Append("</td>");
sb.Append("<td colspan=\"4\" style=\"height:47px; width:553px; background:#0d4580; color:aliceblue;\">");
sb.Append("<p style='margin-left:76.45pt'><strong>JOB DESCRIPTION</strong ></p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='5' style='height:19px; width:729px;'>");
sb.Append("<p> </p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='2' style=\"height:38px; width:182px; background: #0d4580;color: aliceblue;\" >");
sb.Append("<p style=\"margin-left:5.35pt\" ><strong> Job Title / Role:</ strong ></p>");
sb.Append("</td>");
sb.Append("<td colspan='3' style='height:38px; width:547px;' >");
sb.Append("<p style='margin-left:5.3pt' > Quality Assurance Executive</ p >");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='2' style='height:38px; width:182px; background: #0d4580;color: aliceblue;' >");
sb.Append("<p style='margin-left:5.35pt' ><strong> Department:</ strong ></p>");
sb.Append("</td>");
sb.Append("<td style='height:38px; width:215px' >");
sb.Append("<p style='margin-left:5.3pt' > Training & amp; Quality </ p >");
sb.Append("</td>");
sb.Append("<td style='height:38px; width:120px; background: #0d4580;color: aliceblue;' >");
sb.Append("<p style='margin-left:5.3pt' >< strong > Shift Timings:</strong ></p>");
sb.Append("</td>");
sb.Append("<td style='height:38px; width:211px' >");
sb.Append("<p style='margin-left:5.3pt' > Flexible(7AM & ndash; 10PM)</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan = '2' style = 'height:39px; width:182px; background: #0d4580;color: aliceblue;' >");
sb.Append("<p style = 'margin-left:5.35pt'><strong> Reporting To:</strong></p>");
sb.Append("</ td >");
sb.Append("<td style = 'height:39px; width:215px' >");
sb.Append("<p style ='margin-left:5.3pt' > AM & ndash; Quality </p>");
sb.Append("</td >");
sb.Append("<td style='height:39px; width: 128px; background:#0d4580;color:aliceblue;' >");
sb.Append("<p style='margin-left:5.3pt'><strong> No.of position:</strong></p>");
sb.Append("</td >");
sb.Append("<td style='height:39px; width:211px' >");
sb.Append("<p style='margin-left:5.3pt' > 01(One) </p>");
sb.Append("</td >");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='2' style='height:38px; width:182px; background: #0d4580;color: aliceblue;' >");
sb.Append("<p style='margin-left:5.35pt' >< strong > Work Location:</ strong ></p >");
sb.Append("</td>");
sb.Append("<td style='height:38px; width:215px' >");
sb.Append(" <p style='margin-left:5.3pt' > Bhayander, Mumbai </p>");
sb.Append("</td>");
sb.Append("<td style ='height:38px; width:120px; background: #0d4580;color: aliceblue;' >");
sb.Append("<p style ='margin-left:5.3pt' ><strong> Level / Grade:</strong></p>");
sb.Append("</td>");
sb.Append("<td style='height:38px; width:211px' >");
sb.Append("<p style='margin-left:5.3pt' > 5 </ p >");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("</tr>");
sb.Append("</tbody>");
sb.Append("</table>");
//string strOutput = sb.ToString();
//StringReader reader = new StringReader(strOutput);
StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
memoryStream.Close();
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=Invoice.pdf");
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(bytes);
Response.End();
Response.Close();
}
}
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
受保护的void Demo()
{
StringBuilder sb=新的StringBuilder();
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“”);
sb.追加(“”);
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“职务说明
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“”);
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“职务/角色:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“质量保证主管”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“
部门:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(培训和质量”);
某人加上(“”);
某人加上(“”);
sb.追加(“
轮班计时:”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“灵活(上午7点至晚上10点)
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“报告对象:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“AM&ndash;Quality
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“位置编号:”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“01(一)
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“工作地点:
”;
某人加上(“”);
某人加上(“”);
sb.追加(“孟买巴彦德”
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“级别/等级:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.追加(“5”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
//字符串strOutput=sb.ToString();
//StringReader=新StringReader(strOutput);
StringReader sr=新的StringReader(sb.ToString());
文档pdfDoc=新文档(PageSize.A4、10f、10f、10f、0f);
HTMLWorker htmlparser=新的HTMLWorker(pdfDoc);
使用(MemoryStream MemoryStream=new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(),memoryStream);
PdfWriter writer=PdfWriter.GetInstance(pdfDoc,memoryStream);
pdfDoc.Open();
解析(sr);
pdfDoc.Close();
byte[]bytes=memoryStream.ToArray();
HtmlConverter.ConvertToPdf(sb.ToString(),memoryStream);
memoryStream.Close();
Response.Clear();
Response.ContentType=“application/pdf”;
AddHeader(“内容处置”、“附件;文件名=Invoice.pdf”);
Response.Buffer=true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
响应。二进制写入(字节);
Response.End();
Response.Close();
}
}
使用字符串生成器将Htmlstring转换为PDF时未应用样式,
它显示没有样式,语法是否适合应用样式?
或者我需要采用不同的技术来使用样式实现生成pdf吗?我所做的是创建不同的Css文件并使用Itextsharp Xmlworker
protected void Demo(int Id)
{
CareerDetails Sql = new CareerDetails();
string imageURL = Server.MapPath("~") + "/Images/epicenter_logo.gif";
StringBuilder sb = new StringBuilder();
sb.Append("<header class='clearfix'>");
sb.Append("<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class='Header'>");
sb.Append("<tbody>");
sb.Append("<tr>");
sb.Append("<td class='td1'>");
sb.Append("<img src='"+ imageURL +"' class='p3'/>");
sb.Append("</td>");
sb.Append("<td colspan=\"4\"class='td2'>");
DataSet ds = new DataSet();
SqlParameter[] sqlParam = new SqlParameter[1];
sqlParam[0] = new SqlParameter("@Id", SqlDbType.Int);
sqlParam[0].Value = Id;
ds = Sql.GetDatawithPara("EPC_GeneratePdf", sqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
sb.Append("<p class='p1'><strong>JOB DESCRIPTION</strong ></p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='5'>");
sb.Append("<p> </p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='2' class='td3' >");
sb.Append("<p style=\"margin-left:5.35pt\" ><strong> Job Title / Role:</ strong ></p>");
sb.Append("</td>");
sb.Append("<td colspan='3' style='height:38px; width:547px;' >");
sb.Append("<p class='p2' > " + ds.Tables[0].Rows[0]["RoleName"].ToString() + "</p >");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='2'class='td3' >");
sb.Append("<p style='margin-left:5.35pt' ><strong> Department:</ strong ></p>");
sb.Append("</td>");
sb.Append("<td class='td1'>");
sb.Append("<p class='p2' >" + ds.Tables[0].Rows[0]["DepartmentName"].ToString() + " </ p >");
sb.Append("</td>");
sb.Append("<td class='td3' >");
sb.Append("<p class='p2'><strong> Shift Timings:</strong ></p>");
sb.Append("</td>");
sb.Append("<td class='auto-style1' >");
sb.Append("<p class='p2'>" + ds.Tables[0].Rows[0]["Shift"].ToString() + "</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<td class='td3' >");
sb.Append("<p class='p2'><strong> No.of position:</strong></p>");
sb.Append("</td >");
sb.Append("<td class='auto-style1'> ");
sb.Append("<p class='p2' >" + ds.Tables[0].Rows[0]["NoofPost"].ToString() + "</p>");
sb.Append("</td >");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan='5' style='height:19px;'>");
sb.Append("<p> </p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tbody>");
sb.Append("</table>");
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
protectedvoid演示(int-Id)
{
CareerDetails Sql=新的CareerDetails();
字符串imageURL=Server.MapPath(“~”+”/Images/epicenter_logo.gif”;
StringBuilder sb=新的StringBuilder();
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
数据集ds=新数据集();
SqlParameter[]sqlParam=新的SqlParameter[1];
sqlParam[0]=新的SqlParameter(“@Id”,SqlDbType.Int);
sqlParam[0].Value=Id;
ds=Sql.GetDatawithPara(“EPC_GeneratePdf”,sqlParam);
如果(ds.Tables[0].Rows.Count>0)
{
某人追加(“工作说明””;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“”);
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“职务/角色:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.Append(“”+ds.Tables[0]。行[0][“RoleName”]。ToString()+”
”;
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“部门:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
sb.Append(“”+ds.Tables[0]。行[0][“DepartmentName”]。ToString()+”);
某人加上(“”);
某人加上(“”);
sb.追加(“
轮班计时:
”;
List<string> cssFiles = new List<string>();
cssFiles.Add(@"~/css/PdfDesign.css");
//StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4);
//HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
//HtmlConverter.ConvertToPdf(sb.ToString(), memoryStream);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
writer.CloseStream = false;
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor
// tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor().End()); // use our new processor
var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors
//Create a cssresolver to apply css
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssFiles.ForEach(i => cssResolver.AddCssFile(System.Web.HttpContext.Current.Server.MapPath(i), true));
//Create and attach pipeline, without pipeline parser will not work on css
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//create XMLWork and attach a praser to it
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);
xmlParser.Parse(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())));
pdfDoc.Close();
memoryStream.Position = 0;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=myfile.pdf");
Response.BinaryWrite(memoryStream.ToArray());
Response.Flush();
Response.End();
}
}
某人加上(“”);
某人加上(“”);
某人的应用程序