Exemplo n.º 1
0
        public static void AddLinkToWebLink()
        {
            PdfFile     pdfFile  = new PdfFile();
            PdfDocument document = pdfFile.Import(File.ReadAllBytes("sample.pdf"));

            PdfPage            page    = document.Pages[0];
            PageContentBuilder builder = new PageContentBuilder(page);

            builder.GraphicState.FillColor = new RgbColor(100, 255, 0, 0);

            //Add external hyperlink with Action
            UriAction uriAction = new UriAction();

            uriAction.Uri = new Uri("http://www.iditect.com");
            Rect rectArea = new Rect(50, 150, 100, 100);
            var  uriLink  = page.Annotations.AddLink(uriAction);

            uriLink.Rect = rectArea;
            builder.DrawRectangle(rectArea);

            //Add external hyperlink with Block
            Block block = new Block();

            block.InsertText("This is a ");
            block.GraphicState.FillColor = new RgbColor(0, 0, 255);
            block.InsertHyperlinkStart(new Uri("http://www.iditect.com"));
            block.InsertText("hyperlink");
            block.InsertHyperlinkEnd();
            builder.Position.Translate(50, 300);
            builder.DrawBlock(block);

            File.WriteAllBytes("AddLink2.pdf", pdfFile.Export(document));
        }
Exemplo n.º 2
0
        public static void AddLinkInsideDocument()
        {
            PdfFile     pdfFile  = new PdfFile();
            PdfDocument document = pdfFile.Import(File.ReadAllBytes("sample.pdf"));

            PdfPage            page    = document.Pages[0];
            PageContentBuilder builder = new PageContentBuilder(page);

            builder.GraphicState.FillColor = new RgbColor(100, 255, 0, 0);

            //Add internal link with Destination
            PageFit pageFit = document.Destinations.AddPageFit();

            //Navigate to the second page
            pageFit.Page = document.Pages[1];
            Rect rectArea            = new Rect(50, 100, 100, 100);
            Link linkWithDestination = new Link(pageFit);

            linkWithDestination.Rect = rectArea;
            page.Annotations.Add(linkWithDestination);
            builder.DrawRectangle(rectArea);

            //Add internal link with Location
            Location location = new Location();

            //Navigate to second page
            location.Page = document.Pages[1];
            //Navigate to the target point in page
            location.Left = 275;
            location.Top  = 400;
            //Set Zoom value in viewer, the value "3" means showing in 300% of original size
            location.Zoom = 3;
            rectArea      = new Rect(50, 250, 100, 100);
            Link linkWithLocation = page.Annotations.AddLink(location);

            linkWithLocation.Rect = rectArea;
            builder.DrawRectangle(rectArea);

            //Add internal link with Action
            GoToAction goToAction = new GoToAction();

            //Set navigation to either Destination or Location
            goToAction.Destination = location;
            //goToAction.Destination = pageFit;
            rectArea = new Rect(50, 400, 100, 100);
            Link goToLink = page.Annotations.AddLink(goToAction);

            goToLink.Rect = rectArea;
            builder.DrawRectangle(rectArea);

            //Add internal link with Block
            Block block = new Block();

            block.InsertText("This is a ");
            block.GraphicState.FillColor = new RgbColor(0, 0, 255);
            //Set navigation to either Destination or Location
            block.InsertHyperlinkStart(pageFit);
            //block.InsertHyperlinkStart(location);
            block.InsertText("navigation link");
            block.InsertHyperlinkEnd();
            builder.Position.Translate(50, 550);
            builder.DrawBlock(block);

            File.WriteAllBytes("AddLink.pdf", pdfFile.Export(document));
        }