Foxtable(狐表)用户栏目专家坐堂 → Spire.PDF.dll给PDF加印章 缺spire.pdf.graphics.dll有没有变通实现方法呢?


  共有4568人关注过本帖树形打印复制链接

主题:Spire.PDF.dll给PDF加印章 缺spire.pdf.graphics.dll有没有变通实现方法呢?

帅哥哟,离线,有人找我吗?
李孝春
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Dim loApprearance As new Spir...  发帖心情 Post By:2020/12/31 21:06:00 [只看该作者]

代码  红色部分还得麻烦老师继续指导下  谢谢  老师节日快乐
Dim pdf As Spire.Pdf.PdfDocument =  New Spire.Pdf.PdfDocument()
pdf.LoadFromFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书.pdf")
Dim page As Spire.Pdf.PdfPageBase = pdf.Pages(0)
Dim loStamp As Spire.Pdf.Annotations.PdfRubberStampAnnotation = New Spire.Pdf.Annotations.PdfRubberStampAnnotation(New RectangleF(New PointF(-5, -5), New SizeF(200, 200)))
Dim loApprearance As new Spire.Pdf.Annotations.Appearance.PdfAppearance(loStamp)
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png")
'Dim template As Spire.Pdf.PdfTemplate(600, 800)
'page.DrawImage(image, 0, 0)
'loApprearance.Normal = template
loStamp.Appearance = loApprearance
page.AnnotationsWidget.Add(loStamp)
Dim output As String = "C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf"
pdf.SaveToFile(output)
System.Diagnostics.Process.Start("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf")

代码运行提示如下:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/31 21:17:00 [只看该作者]

Dim template As new Spire.Pdf.PdfTemplate(600, 800)

再不行就咨询他们客服:https://www.e-iceblue.cn/support-faqs.html

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Dim template As new Spir...  发帖心情 Post By:2021/1/4 9:40:00 [只看该作者]

客户不在线   查了一下他们的文档  还有一个小问题搞不定
当前代码如下:(红色部分会报错)
Dim pdf As Spire.Pdf.PdfDocument =  New Spire.Pdf.PdfDocument()
pdf.LoadFromFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书.pdf")
Dim page As Spire.Pdf.PdfPageBase = pdf.Pages(0)
Dim loStamp As Spire.Pdf.Annotations.PdfRubberStampAnnotation = New Spire.Pdf.Annotations.PdfRubberStampAnnotation(New RectangleF(New PointF(-5, -5), New SizeF(200, 200)))
Dim loApprearance As new Spire.Pdf.Annotations.Appearance.PdfAppearance(loStamp)
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png")
page.BackgroundImage = image
page.BackgroundRegion = Spire.Pdf.PdfPageBase.RectangleF(300, 200, 80, 81)
Dim output As String = "C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf"
pdf.SaveToFile(output)
System.Diagnostics.Process.Start("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf")

图片点击可在新窗口打开查看此主题相关图片如下:0.png
图片点击可在新窗口打开查看
(红色部分注释后)运行效果图

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/4 9:55:00 [只看该作者]

试试
Dim page As Spire.Pdf.PdfPageBase = pdf.Pages(0)
改为
Dim page = pdf.Pages(0)

不行的话只能咨询他们客服了

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)试试Dim page As Spire.Pdf.PdfPageB...  发帖心情 Post By:2021/1/4 10:46:00 [只看该作者]

老师是否可以继续指导一下(对方在线客户依旧没有在线 联系不上)
结合老师的指导和网上的说明  现在进行到如下啦  但是有一个.RectangleF问题还有待得到老师的进一步指导
全局函数里面写了如下
Public Sub pdfNew(ByVal x As Single, ByVal y As Single, ByVal width As Single, ByVal height As Single)
End Sub
现在代码更新为:
Dim pdf As Spire.Pdf.PdfDocument =  New Spire.Pdf.PdfDocument()
pdf.LoadFromFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书.pdf")
Dim page = pdf.Pages(0)
Dim loStamp As Spire.Pdf.Annotations.PdfRubberStampAnnotation = New Spire.Pdf.Annotations.PdfRubberStampAnnotation(New RectangleF(New PointF(-5, -5), New SizeF(200, 200)))
Dim loApprearance As new Spire.Pdf.Annotations.Appearance.PdfAppearance(loStamp)
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png")
page.BackgroundImage = image
page.BackgroundRegion = pdfnew.RectangleF(300,200,80,81)
Dim output As String = "C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf"
pdf.SaveToFile(output)
System.Diagnostics.Process.Start("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf")
运行提示:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/1/4 10:47:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/4 11:18:00 [只看该作者]

page.BackgroundRegion = new system.drawing.RectangleF(300,200,80,81)

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)page.BackgroundRegion = new system...  发帖心情 Post By:2021/1/4 11:30:00 [只看该作者]

老师 这个运行后出现这个提示    还得麻烦老师一下啦(相关dll文件我无法上传上来 总是提示请正确选择要上传的文件  老师有没有办法实现上传呢  不然老师指导也不大好进行)

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/4 11:53:00 [只看该作者]

更新在这个dll到最新版,联系对方客服

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)更新在这个dll到最新版,联系对方客服...  发帖心情 Post By:2021/1/4 13:51:00 [只看该作者]


老师 更新版本到4.8.8后【对方客服依旧不在线  所以还得麻烦老师 多多指导下了】
Dim pdf As Spire.Pdf.PdfDocument =  New Spire.Pdf.PdfDocument()
pdf.LoadFromFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书.pdf")
Dim page = pdf.Pages(0)
Dim loStamp As Spire.Pdf.Annotations.PdfRubberStampAnnotation = New Spire.Pdf.Annotations.PdfRubberStampAnnotation(New RectangleF(New PointF(-5, -5), New SizeF(200, 200)))
Dim loApprearance As new Spire.Pdf.Annotations.Appearance.PdfAppearance(loStamp)
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png")
page.BackgroundImage = image
page.BackgroundRegion = new system.drawing.RectangleF(300,200,80,81)   或 page.BackgroundRegion = new RectangleF(300,200,80,81)  
Dim output As String = "C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf"
pdf.SaveToFile(output)
System.Diagnostics.Process.Start("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf")

上述代码运行均得到如下结果

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

明显不是加盖印章的效果  而是加上底图的效果  上述代码有没有办法修正一下  实现印章图片png加盖在文章上方呢?感谢!






之前学习的代码:
Dim pdf As Spire.Pdf.PdfDocument =  New Spire.Pdf.PdfDocument()
pdf.LoadFromFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书.pdf")
Dim page As Spire.Pdf.PdfPageBase = pdf.Pages(0)
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png")
Dim width As Integer = image.Width
Dim height As Integer = image.Height
Dim scale As Single = 0.8F
Dim size As Size = New Size(CInt((width * scale)), CInt((height * scale)))
Dim scaledImage As Bitmap = New Bitmap(image, size)
Dim pdfIma As spire.pdf.graphics.PdfImage = spire.pdf.graphics.PdfImage.FromImage(scaledImage)
Dim x As Single = 360F
Dim y As Single = 550F
'page.Canvas.SetTransparency(1F)
page.Canvas.DrawImage(pdfIma, x, y)
pdf.SaveToFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书11.pdf")

生成的效果如下:【同样的印章文件 是处理成透明png了的  有没有办法不提示黑影啊?】

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:电子印章.png
图片点击可在新窗口打开查看

回到一楼的代码上:
Dim pdf As Spire.Pdf.PdfDocument =  New Spire.Pdf.PdfDocument()
pdf.LoadFromFile("C:\Users\Administrator\Desktop\公文助手20201224\Reports\ 胡涛入党申请谈话通知书.pdf")
Dim page = pdf.Pages(0)
Dim loStamp As Spire.Pdf.Annotations.PdfRubberStampAnnotation = New Spire.Pdf.Annotations.PdfRubberStampAnnotation(New RectangleF(New PointF(300, 400), New SizeF(200, 200)))
Dim loApprearance As new Spire.Pdf.Annotations.Appearance.PdfAppearance(loStamp)

Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\dzyz\电子印章\Attachments\电子印章.png")
'Dim template As PdfTemplate = New PdfTemplate(160, 160)
'Dim template As PdfTemplate = new Spire.Pdf.PdfTemplate(160, 160)
'Dim template As new PdfTemplate(600, 800)
'template.Graphics.DrawImage(image, 0, 0)
'loApprearance.Normal = template
loStamp.Appearance = loApprearance
page.AnnotationsWidget.Add(loStamp)
蓝色部分分别写法错误提示如下:(代码有没有办法修正呢?目前这个pdf官方在线客服联系了好几天都不在线  哎)

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


上述代码参照这个方法进行学习的
private void btnAddImageSign_Click(object sender, EventArgs e)
        {
            string signPdf = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Examples/PdfDemo/TestSign2.pdf");
            string signImage = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Examples/PdfDemo/印章.png");

            PdfDocument doc = new PdfDocument();
            doc.LoadFromFile(signPdf);

            //每页都添加印章
            foreach (PdfPageBase page in doc.Pages)
            {
                PdfRubberStampAnnotation loStamp = new PdfRubberStampAnnotation(new RectangleF(new PointF(400, 600), new SizeF(120, 120)));
                PdfAppearance loApprearance = new PdfAppearance(loStamp);
                PdfImage image = PdfImage.FromFile(signImage);

                PdfTemplate template = new PdfTemplate(160, 160);
                template.Graphics.DrawImage(image, 0, 0);
                loApprearance.Normal = template;
                loStamp.Appearance = loApprearance;

                page.AnnotationsWidget.Add(loStamp);
            }

            //保存文档
            var fileSave = FileDialogHelper.SavePdf("ImageStamp.pdf", System.AppDomain.CurrentDomain.BaseDirectory);
            if(!string.IsNullOrEmpty(fileSave))
            {
                doc.SaveToFile(fileSave);
                Process.Start(fileSave);
            }
        }
按照老师提供的转码地址:https://converter.telerik.com/
[此贴子已经被作者于2021/1/4 14:29:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2021/1/4 16:29:00 [只看该作者]

用专业报表不好吗?

 回到顶部
总数 23 上一页 1 2 3 下一页