示例#1
0
        // ---------------------------------------------------------------------------

        /**
         * Manipulates a PDF file src with the file dest as result (localhost)
         * @param src the original PDF
         */
        public byte[] ManipulatePdf(byte[] src)
        {
            // Create the reader
            PdfReader reader = new PdfReader(src);
            int       n      = reader.NumberOfPages;

            using (MemoryStream ms = new MemoryStream())
            {
                // Create the stamper
                using (PdfStamper stamper = new PdfStamper(reader, ms))
                {
                    // Get the writer (to add actions and annotations)
                    PdfWriter writer = stamper.Writer;
                    PdfAction action = PdfAction.GotoLocalPage(2,
                                                               new PdfDestination(PdfDestination.FIT), writer
                                                               );
                    writer.SetOpenAction(action);
                    action = PdfAction.JavaScript(
                        "app.alert('Think before you print');", writer
                        );
                    writer.SetAdditionalAction(PdfWriter.WILL_PRINT, action);
                    action = PdfAction.JavaScript(
                        "app.alert('Think again next time!');", writer
                        );
                    writer.SetAdditionalAction(PdfWriter.DID_PRINT, action);
                    action = PdfAction.JavaScript(
                        "app.alert('We hope you enjoy the festival');", writer
                        );
                    writer.SetAdditionalAction(PdfWriter.DOCUMENT_CLOSE, action);
                    action = PdfAction.JavaScript(
                        "app.alert('This day is reserved for people with an accreditation "
                        + "or an invitation.');",
                        writer
                        );
                    stamper.SetPageAction(PdfWriter.PAGE_OPEN, action, 1);
                    action = PdfAction.JavaScript(
                        "app.alert('You can buy tickets for all the other days');", writer
                        );
                    stamper.SetPageAction(PdfWriter.PAGE_CLOSE, action, 1);
                }
                return(ms.ToArray());
            }
        }