Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How would you programmatically embed a SWF in a PDF?

Is it possible to programmatically embed a SWF in a PDF from a C# application?

like image 558
Raul Agrait Avatar asked Jun 20 '09 07:06

Raul Agrait


2 Answers

You can use the c# port of the iText library. It's called iTextSharp.

http://itextsharp.com/

An example of what the code could look like:

 // create an output file stream which will be used to capture the generated file 
    string outputFileName = "output.pdf"; 
    FileStream outputFile = new FileStream(outputFileName, FileMode.Create); 

    // open the original pdf file as a PdfReader 
    PdfReader reader = new PdfReader("inputfile.pdf"); 

    // open the output pdf file as a PdfStamper 
    PdfStamper stamper = new PdfStamper(reader, outputFile); 

    // inserts a blank page at the start of the document 
    stamper.InsertPage(1, PageSize.A4); 

    // add the flash file to the output document as an annotation 
    PdfFileSpecification fs = PdfFileSpecification.FileEmbedded(stamper.Writer, flashFileTextBox.Text, flashFileTextBox.Text, null); 
    PdfAnnotation flashInsert = PdfAnnotation.CreateScreen(stamper.Writer, new Rectangle(50f,791f,545f,420f),"Flash Insert",fs, "application/x-shockwave-flash", true); 

    stamper.AddAnnotation(flashInsert,1); 

    stamper.Close(); 
    reader.Close(); 
like image 55
dan Avatar answered Nov 16 '22 20:11

dan


Flash SWF files can be embedded into a PDF document programmatically. Have a look at the PDF library from webSupergoo. The documentation includes examples in C# and VB.NET.

like image 34
AffineMesh Avatar answered Nov 16 '22 18:11

AffineMesh