vb.net中如何将excel转成一个内容无法被复制的pdf,不用spire.pdf等付费的组件
(合并前)需要将文件1的内容合并到文件2的第二页空白处:
C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace MergePages
{
class Program
{
static void Main(string[] args)
{
//加载两个PDF文档
PdfDocument pdf1 = new PdfDocument();
pdf1.LoadFromFile("test1.pdf");
PdfDocument pdf2 = new PdfDocument();
pdf2.LoadFromFile("test2.pdf");
//创建模板
PdfTemplate template = pdf1.Pages[0].CreateTemplate();
//获取文档2中的第2页
PdfPageBase page2 = pdf2.Pages[1];
//设置透明度
page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);
//在页面指定位置绘制模板
page2.Canvas.DrawTemplate(template, new PointF(0, 300));
//保存文档
pdf2.SaveToFile("mergepages.pdf");
}
}
}
合并后的效果:
VB.NET
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing
Namespace MergePages
Class Program
Private Shared Sub Main(args As String())
'加载两个PDF文档
Dim pdf1 As New PdfDocument()
pdf1.LoadFromFile("test1.pdf")
Dim pdf2 As New PdfDocument()
pdf2.LoadFromFile("test2.pdf")
'创建模板
Dim template As PdfTemplate = pdf1.Pages(0).CreateTemplate()
'获取文档2中的第2页
Dim page2 As PdfPageBase = pdf2.Pages(1)
'设置透明度
page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)
'在页面指定位置绘制模板
page2.Canvas.DrawTemplate(template, New PointF(0, 300))
'保存文档
pdf2.SaveToFile("mergepages.pdf")
End Sub
End Class
End Namespace
可以选择先将excel保存为一般PDF,然后使用Ghostscript.NET 从 PDF 生成图像。
下面是使用Ghostscript.NET 从 PDF 生成图像的例子。
https://github.com/jhabjan/Ghostscript.NET/blob/master/Ghostscript.NET.Samples/Samples/RasterizerSample1.cs