Rendera presentationsbilder som SVG-bilder i PHP

Översikt

Den här artikeln förklarar hur man renderar presentationsbilder som SVG‑bilder med Aspose.Slides. Den beskriver SVG‑formatet och dess fördelar, inklusive skalbarhet, tillgänglighet och lämplighet för webbutveckling.

Du kommer att lära dig hur du laddar en presentationsfil, itererar genom dess bilder och sparar varje bild som en separat SVG‑fil. Artikeln täcker PowerPoint‑ och OpenDocument‑presentationsformat, inklusive PPT, PPTX, ODP och PPS, och visar hur man utför konverteringen programmässigt med klassen Presentation och metoden writeAsSvg.

SVG‑format

SVG—en förkortning för Scalable Vector Graphics—är en standardgrafiktyp eller -format som används för att rendera tvådimensionella bilder. SVG lagrar bilder som vektorer i XML med detaljer som definierar deras beteende eller utseende.

SVG är ett av de få bildformaten som uppfyller mycket höga krav på skalbarhet, interaktivitet, prestanda, tillgänglighet, programmerbarhet och liknande. Av dessa skäl används det ofta i webbutveckling.

Du kan vilja använda SVG‑filer när du behöver

  • skriva ut din presentation i ett mycket stort format. SVG‑bilder kan skalas upp till vilken upplösning eller nivå som helst. Du kan ändra storlek på SVG‑bilder så många gånger som behövs utan att förlora kvalitet.
  • använda diagram och grafer från dina bilder i olika medier eller plattformar. De flesta läsare kan tolka SVG‑filer.
  • använda de minsta möjliga bildstorlekarna. SVG‑filer är generellt mindre än deras högupplösta motsvarigheter i andra format, särskilt de format som är baserade på raster (JPEG eller PNG).

Rendera en bild som en SVG‑bild

Aspose.Slides för PHP via Java låter dig exportera bilder i dina presentationer som SVG‑bilder. Följ dessa steg för att skapa SVG‑bilder:

  1. Skapa en instans av klassen Presentation.
  2. Iterera genom alla bilder i presentationen.
  3. Skriv varje bild till sin egen SVG‑fil via FileOutputStream.

Denna exempelcode visar hur du konverterar PPT till SVG med Aspose.Slides:

  $pres = new Presentation("pres.pptx");
  try {
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $fileStream = new Java("java.io.FileOutputStream", "slide-" . $index . ".svg");
      try {
        $slide->writeAsSvg($fileStream);
      } finally {
        $fileStream->close();
      }
    }
  } catch (JavaException $e) {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Varför kan den resulterande SVG:n se olika ut i olika webbläsare?

Stöd för specifika SVG‑funktioner implementeras olika av webbläsarmotorer. SVGOptions‑parametrar hjälper till att jämna ut inkompatibiliteter.

Är det möjligt att exportera inte bara bilder utan även enskilda former till SVG?

Ja. Alla former kan sparas som en separat SVG, vilket är praktiskt för ikoner, piktogram och återanvändning av grafik.

Kan flera bilder kombineras till en enda SVG (strip/dokument)?

Standardscenariot är en bild → en SVG. Att kombinera flera bilder till en enda SVG‑canvas är ett efterbearbetningssteg som utförs på applikationsnivå.