实质:双层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);
}
} }
如上代码所示,根据应用场景的不同,使用不同的工具类。