我正在使用ASP.net MVC应用程序中的带有iTextSharp的XSLT模板来生成PDF文档。
我将数据集输入XSLT模板,并通过以下方法获取最终的HTML字符串
private static XmlDocument GetDataPopulatedXmlFromXslt(string xsltFilePath, DataSet dataToBePopulated)
{
var xslCompiledTransform = new XslCompiledTransform();
xslCompiledTransform.Load(xsltFilePath);
var objectXmlDoc = new XmlDocument();
objectXmlDoc.LoadXml(dataToBePopulated.GetXml());
var strBuilder = new StringBuilder();
using (var xmlWriter = new XmlTextWriter(new StringWriter(strBuilder)))
{
xslCompiledTransform.Transform(objectXmlDoc, xmlWriter);
var xsltXmlOutDoc = new XmlDocument();
xsltXmlOutDoc.LoadXml(strBuilder.ToString());
return xsltXmlOutDoc;
}
}
下一步将是创建iTextSharp文档,如下所示
public void ParseXhtmlContents(string xhtml)
{
//Instantiate handler
var elementhandler = new ElementHandler();
//Bind a reader to text
using (TextReader sr = new StringReader(xhtml))
{
//Parse
XMLWorkerHelper.GetInstance().ParseXHtml(elementhandler, sr);
}
//Loop through each element
foreach (var element in elementhandler.Elements)
{
var div = element as PdfDiv;
if (div != null)
foreach (var table in div.Content.OfType<PdfPTable>())
{
table.HeaderRows = 1;
}
_iTextDocument.Add(element);
}
}
在xhtml字符串中,我将带有图像标签,例如<img src="\\network\subfolder\image.png">
仅当向所有人用户组提供子文件夹文件夹的权限时,此图像才会加载到我的最终PDF中。
需要从此路径中删除“所有人”权限,并提供对所需用户的访问权限。
任何人都可以指出需要向哪些用户组授予权限才能将图像加载到文档中吗?