Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.Net PDF获取现有水印_C#_.net_Watermark_Aspose.pdf - Fatal编程技术网

C# ASP.Net PDF获取现有水印

C# ASP.Net PDF获取现有水印,c#,.net,watermark,aspose.pdf,C#,.net,Watermark,Aspose.pdf,您好,我正在使用适用于.Net 17.3.0.0版的AposePDF。我已经使用Aspose成功地将水印添加到pdf文件中,一切正常,但我无法从这些pdf文件中获取现有水印对象。下面是我的示例代码: public bool CheckForWatermark(Stream inputStream) { var pdfDocument = new Aspose.Pdf.Document(inputStream); foreach (Page page

您好,我正在使用适用于.Net 17.3.0.0版的AposePDF。我已经使用Aspose成功地将水印添加到pdf文件中,一切正常,但我无法从这些pdf文件中获取现有水印对象。下面是我的示例代码:

   public bool CheckForWatermark(Stream inputStream)
    {
        var pdfDocument = new Aspose.Pdf.Document(inputStream);
        foreach (Page page in pdfDocument.Pages)
        {
            var hasWatermark = false;
            foreach (Artifact artifact in page.Artifacts)
            {
                hasWatermark = artifact.Subtype == Artifact.ArtifactSubtype.Watermark;
            }
            if (!hasWatermark) return false;
        }
        return true;
    }

这里的页面。工件总是返回零计数。我在他们的支持论坛上也提出了一个问题。Fru声明这样一个文档化的通用代码不起作用。

请确保您在PDF中正确添加了水印。您还可以通过设置PDF文件的不透明度(看起来也像水印)在PDF文件中添加ImageStamp。然而,当谈到水印时,请检查下面的代码段以添加它并在以后检索它

Document pdfDocument = new Document();
System.Drawing.Image img = new Bitmap(dataDir + "your-image.jpg");
Watermark wm = new Watermark(img, new Rectangle(50, 100, 100, 200));
pdfDocument.Pages.Add().Watermark = wm;
pdfDocument.Save(dataDir + "output.pdf");
pdfDocument = new Document(dataDir + "output.pdf");
foreach (Artifact artifact in pdfDocument.Pages[1].Artifacts)
{
 Console.WriteLine(artifact.Subtype + " " + artifact.Text + " " + artifact.Rectangle);
}
我已经检查了上面的代码片段。它工作得很好

PS:我在Aspose担任支持开发人员