c# - 将共享路径中的图像添加到 PDF 文档 iTextSharp
问题描述
我在我的 ASP.net MVC 应用程序中使用带有 iTextSharp 的 XSLT 模板生成 PDF 文档。
我将在 DataSet 中输入 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 中。
需要从此路径中删除 EVERYONE 权限并向所需用户提供访问权限。
谁能指出需要向哪个用户组提供权限才能将图像加载到文档中?