Avatar billede trayzor Nybegynder
21. oktober 2002 - 14:53 Der er 6 kommentarer og
2 løsninger

Lav et jpg billede for hver slide i en powerpoint præsentation

Jeg skal til at lave en applikation der skal tage imod en powerpointfil der uploades via en form.

Den skal lave et jpg eller gif billede for hver slide der er i præsentationen.

Nogen der har en ide om hvordan man tilgår denne problemstilling?

/Michael
Avatar billede simon.ulsnes Nybegynder
21. oktober 2002 - 15:36 #1
Du bliver helt sikkert nødt til at lave noget fis med nogle DLL'er fra PowerPoint. Prøv at søg på MSDN (http://msdn.microsoft.com/) efter noget PowerPoint SDK.

// Simon
Avatar billede trayzor Nybegynder
21. oktober 2002 - 15:39 #2
jeg har nu fusket mig frem til at kunne hive et enkelt slide ud, men jeg ved ikke hvordan man behandler det derfra.

Uddrag af koden:

static void Main(string[] args)
    {

    PowerPoint.Application app = new PowerPoint.ApplicationClass();
    PowerPoint.Presentation pres = null;

    try
    {
        pres = app.Presentations.Open(@"C:\test.ppt",
            Office.MsoTriState.msoTrue,
            Office.MsoTriState.msoTrue,
            Office.MsoTriState.msoFalse);

        PowerPoint.Slide sld = (Slide) pres.Slides._Index(1);

Ovenstående hiver det første slide ud af præsentationen...
Avatar billede simon.ulsnes Nybegynder
21. oktober 2002 - 15:45 #3
Hvilke namespaces er inkluderet?
Avatar billede thomasandersen Nybegynder
21. oktober 2002 - 15:52 #4
Jeg har ikke lige adgang til pp, men hvad med noget i stillen med:


      Graphics g1 = this.CreateGraphics();
      Image MyImage = new Bitmap(140, 350);
      Graphics g2 = Graphics.FromImage(MyImage);
      IntPtr dc1 = g1.GetHdc();
      IntPtr dc2 = g2.GetHdc();
      BitBlt(dc2, pres.Left, pres.Top, pres.Left+pres.Width, pres.Top+pres.Height, dc1, 0, 0, 13369376);
      g1.ReleaseHdc(dc1);
      g2.ReleaseHdc(dc2);
      MyImage.Save(@"c:\image.jpg", ImageFormat.Jpeg);
Avatar billede thomasandersen Nybegynder
21. oktober 2002 - 15:53 #5
Hov, Bitmap(140, 350); Skal selvf. være Bitmap(pres.Width, pres.Height);
Avatar billede trayzor Nybegynder
21. oktober 2002 - 18:17 #6
Jeg kan ikke teste herfra, men jeg vender tilbage senere.

Hvad vil det kræve for at få adgang til pp?

Jeg er ret newbie i C#

/Michael
Avatar billede thomasandersen Nybegynder
22. oktober 2002 - 10:30 #7
Med adgang til pp, mener jeg bare at jeg ikke har PowerPoint på min PC, så jeg kan ikke afprøve det.
Avatar billede trayzor Nybegynder
25. oktober 2002 - 13:07 #8
Powerpoint har en .Export metode som jeg efter 3 dages intensiv søgning har fundet frem til....

Ellers tusind tak for hjælpen!!!

Thomas: Jeg fik nogle fejl ved dit eksempel da pres.Left og pres.Top ikke var sat....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester