实质:双层PDF可勾选文字,但是单层PDF无法选中文字,类似于一张图片。
开发工具:
使用的工具类包含Spire.Pdf操作代码如下
Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
doc.loadFormFile(path);//path为双层PDF的路径
for(int i= 0;i<doc.Pages.Count;i++)
{
Stream imgstream = doc.SaveAsImage(i);
byte[] bydata = new Byte[imgstream.Length];
imgstream.Position = 0;
imgstream.Read(bydata,0,bydata.length);
imgstream.Close();
base64 = Convert.ToBase64String(bydata);
}
使用工具类UglyToad.PdfPig操作代码如下:
using(UglyToad.PdfPig.PdfDocument document = UglyToad.PdfPig.PdfDocument.Open(path))//path为文件路径
{
foreach(UglyToad.PdfPig.Content.Page in document.GetPages())
{
foreach(UglyToad.PdfPig.Content.IPdfImage img in page.GetImages())
{
var bytes = img.RawBytes.ToArray();
base64 = Convert.ToBase64String(bytes);
}
}
}
如上代码所示,根据应用场景的不同,使用不同的工具类。