2

在 Acrobat 中打开文档时它可以正常工作,但在 Google Chrome 等 Web 浏览器中打开相同的 PDF 文档时无法正常工作。this.closeDoc() 没有在浏览器中执行。

string path2 = @"D:\test\input.pdf"; 字符串输出 = @"D:\test\output.pdf";

        if (File.Exists(path2)) 
        { 
            iText.Kernel.Pdf.PdfWriter writer = new iText.Kernel.Pdf.PdfWriter(output);
            iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(new iText.Kernel.Pdf.PdfReader(path2) ,writer);
            pdfDocument.AddNewPage();

            String js = "var rightNow = new Date();"
                      + "var endDate = new Date('2017-07-13');"
                      + "if(rightNow.getTime() > endDate){"
                      + "app.alert('This Document has expired, please contact us for a new one.',1);" 
                      + "this.closeDoc();}"
                      + "else{}";

            pdfDocument.GetCatalog().SetOpenAction(iText.Kernel.Pdf.Action.PdfAction.CreateJavaScript(js));

            pdfDocument.Close();
         } 
4

1 回答 1

0

你在尝试“window.close()”吗?

String js = "var rightNow = new Date();"
    + "var endDate = new Date('2017-07-13');"
    + "if(rightNow.getTime() > endDate){"
    + "  app.alert('This Document has expired, please contact us for a new one.',1);" 
    + "  this.closeDoc(); "
    + "  if(window){ window.close(); } "
    + "}"
    + "else{}";
于 2018-07-13T12:36:43.613 回答