PPT és PPTX konvertálása PDF-be Java-ban [Haladó funkciók beépítve]

Áttekintés

PowerPoint prezentációk (PPT, PPTX, ODP stb.) PDF formátumba konvertálása Java-ban több előnnyel jár, többek között a különböző eszközök közötti kompatibilitással és a bemutató elrendezésének és formázásának megőrzésével. Ez az útmutató bemutatja, hogyan konvertálhatók a prezentációk PDF dokumentumokká, hogyan használhatók különféle beállítások a képek minőségének szabályozásához, hogyan vehetők bele a rejtett diák, hogyan védhetők jelszóval a PDF fájlok, hogyan lehet észlelni a betűkészlet helyettesítéseket, hogyan választhatók ki adott diák a konvertáláshoz, valamint hogyan alkalmazhatók megfelelőségi szabványok a kimeneti dokumentumokra.

PowerPoint PDF konverziók

Az Aspose.Slides használatával a következő formátumú prezentációkat konvertálhatja PDF-be:

  • PPT
  • PPTX
  • ODP

A prezentáció PDF-be konvertálásához adja át a fájl nevét argumentumként a Presentation osztálynak, majd mentse a prezentációt PDF-ként a save metódussal. A Presentation osztály elérhetővé teszi a save metódust, amelyet általában a prezentáció PDF-be konvertálásához használnak.

Az Aspose.Slides lehetővé teszi, hogy:

  • Teljes prezentációk PDF-be
  • Kiválasztott diák egy prezentációból PDF-be

Az Aspose.Slides exportálja a prezentációkat PDF-be, biztosítva, hogy a keletkező PDF-ek szorosan megegyezzenek az eredeti prezentációkkal. Az elemek és attribútumok pontosan kerülnek renderelésre a konverzió során, többek között:

  • Képek
  • Szövegmezők és alakzatok
  • Szövegformázás
  • Bekezdésformázás
  • Hiperhivatkozások
  • Fejléc és lábléc
  • Felsorolások
  • Táblázatok

PowerPoint konvertálása PDF-be

Az alapértelmezett PowerPoint‑PDF konverziós folyamat az alapbeállításokat használja. Ebben az esetben az Aspose.Slides megkísérli a megadott prezentáció PDF-be konvertálását a maximális minőségű, optimális beállításokkal.

Az alábbi példa betölt egy prezentációt, és az alapértelmezett exportbeállításokkal menti az összes látható diát PDF-be.

import com.aspose.slides.*;

Presentation presentation = new Presentation("PowerPoint.ppt");
try {
    presentation.save("PPT-to-PDF.pdf", SaveFormat.Pdf);
} finally {
    presentation.dispose();
}

PowerPoint konvertálása PDF-be opciókkal

Az Aspose.Slides egyedi beállításokat—tulajdonságokat a PdfOptions osztályban—kínál, amelyekkel testreszabhatja a kimeneti PDF-et, jelszóval zárolhatja azt, vagy meghatározhatja a konverziós folyamat menetét.

PowerPoint konvertálása PDF-be egyedi beállításokkal

Egyedi konverziós beállítások használatával meghatározhatja a raszteres képek kívánt minőségi beállítását, megadhatja a metafájlok kezelését, beállíthatja a szöveg tömörítési szintjét, konfigurálhatja a képek DPI‑jét, és egyebeket.

Az alábbi példa egy prezentációt exportál PDF 1.5 formátumba, 90‑es JPEG minőséggel, 300 DPI képmérettel, a metafájlok PNG‑ként mentésével, valamint Flate szövegtömörítéssel.

import com.aspose.slides.*;

PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setJpegQuality((byte)90);
pdfOptions.setSufficientResolution(300);
pdfOptions.setSaveMetafilesAsPng(true);
pdfOptions.setTextCompression(PdfTextCompression.Flate);
pdfOptions.setCompliance(PdfCompliance.Pdf15);

Presentation presentation = new Presentation("PowerPoint.pptx");

try {
    presentation.save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Beágyazott OLE fájlok megőrzése PDF mellékletekként

Ha egy prezentáció beágyazott Excel munkafüzetet tartalmaz, akkor a PDF‑címzetteknek szeretné, ha a munkafüzet adatai is elérhetők lennének, illetve a diák megtekinthetők. Hívja a setIncludeOleData metódust true értékkel, hogy a beágyazott OLE fájlok mellékleteként maradjanak meg a kimeneti PDF‑ben.

Az alapértelmezett érték false: az OLE objektum előnézeti képe vagy ikonjának megjelenése a PDF‑oldalon történik, de a beágyazott fájl nem kerül mellékletként bele. A beállítás true‑ra módosítása további módon a fájl adatait is beleveszi. Az előnézet egy vizuális ábrázolás marad; a melléklet lehetővé teszi a címzetteknek a beágyazott fájl különálló megnyitását vagy mentését. Az OLE objektum nem válik interaktív Excel munkalappá a PDF‑oldalon.

Az alábbi példa betölt egy olyan prezentációt, amely már tartalmaz beágyazott Excel munkafüzetet, és PDF‑ként exportálja a munkafüzettel mellékletként.

import com.aspose.slides.*;

PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setIncludeOleData(true);

Presentation presentation = new Presentation("presentation.pptx");
try {
    presentation.save("presentation.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Az eredmény ellenőrzéséhez:

  1. Nyissa meg az exportált PDF‑et egy olyan megjelenítőben, amely támogatja a fájlmellékleteket, például az Adobe Acrobat Reader‑ben.
  2. Nyissa meg a megjelenítő Attachments paneljét, és keresse meg a beágyazott munkafüzetet.
  3. Mentse el a mellékletet, és nyissa meg Excelben az adatok ellenőrzéséhez, vagy nyissa meg közvetlenül, ha a megjelenítő engedélyezi. Az PDF‑oldalon lévő előnézet különálló a melléklettől.

PowerPoint konvertálása PDF-be rejtett diákkal

Ha egy prezentáció rejtett diákot tartalmaz, a setShowHiddenSlides metódust a PdfOptions osztályból használhatja, hogy a rejtett diák a kimeneti PDF‑ben is oldalként megjelenjenek.

Az alábbi példa egy prezentációt exportál PDF‑be, beleértve az esetleges rejtett diát is.

import com.aspose.slides.*;

Presentation presentation = new Presentation("PowerPoint.pptx");
try {
    PdfOptions pdfOptions = new PdfOptions();
    pdfOptions.setShowHiddenSlides(true);

    presentation.save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

PowerPoint konvertálása jelszóval védett PDF‑be

Az alábbi példa egy prezentációt exportál egy PDF‑be, amely megnyitásához a password jelszó szükséges. A hozzáférési jogosultságok engedélyezik a nyomtatást, beleértve a magas minőségű nyomtatást.

import com.aspose.slides.*;

Presentation presentation = new Presentation("PowerPoint.pptx");
try {
    PdfOptions pdfOptions = new PdfOptions();
    pdfOptions.setPassword("password");
    pdfOptions.setAccessPermissions(PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint);

    presentation.save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Betűkészlet helyettesítések észlelése

Az Aspose.Slides a setWarningCallback metódust a PdfOptions osztály alatt biztosítja, amely lehetővé teszi a betűkészlet helyettesítések észlelését a prezentáció‑PDF konverzió során.

Az alábbi példa egy prezentációt exportál PDF‑be, és a betűkészlet helyettesítési figyelmeztetéseket a konzolra írja. A figyelmeztetés csak akkor jelenik meg, ha az exportálás során egy nem elérhető betűkészletet helyettesítenek.

import com.aspose.slides.*;

class FontSubstitutionHandler implements IWarningCallback {
    public int warning(IWarningInfo warning) {
        if (warning.getWarningType() == WarningType.DataLoss && warning.getDescription().startsWith("Font will be substituted")) {
            System.out.println("Font substitution warning: " + warning.getDescription());
        }
        return ReturnAction.Continue;
    }
}

PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setWarningCallback(new FontSubstitutionHandler());

Presentation presentation = new Presentation("sample.pptx");
try {
    presentation.save("output.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Betűtípusok kezelése, amelyeknek nincs dedikált félkövér változata

Egy prezentáció alkalmazhat félkövér formázást a szövegre akkor is, ha a betűkészletnek nincs dedikált félkövér változata. A szöveg szintetikus félkövér alkalmazásával is megjelenhet, ami mesterségesen vastagítja a normál glypheket. Ha ez a szöveg túl nehézkesen vagy másképp néz ki a PDF‑ben, próbálja meg hívni a PdfOptions.setRasterizeUnsupportedFontStyles metódust true értékkel. Ez a beállítás a PDF exportálás során bitmapként rendereli az érintett szöveget, és javíthatja megjelenését bizonyos betűkészleteknél. Alapértelmezett értéke false.

A minta prezentáció két szövegmezőt tartalmaz: egyet szabályos szöveggel és egyet ugyanarra a betűkészletre alkalmazott félkövér formázással, amelynek nincs dedikált félkövér változata. Az alábbi példa betölti a prezentációt, engedélyezi a nem támogatott betűstílusok rasterizálását, és PDF‑be exportálja:

import com.aspose.slides.PdfOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;

PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setRasterizeUnsupportedFontStyles(true);

Presentation presentation = new Presentation("unsupported-bold.pptx");
try {
    presentation.save("rasterized.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

A következő előnézetek a letiltott és az engedélyezett kimenetet mutatják. Ebben a példában a félkövér szöveg vastagabb vonalakkal jelenik meg, ha a beállítás le van tiltva. Az engedéllyel a vonalak vékonyabbak, a szabályos szöveg változatlan marad. Hasonlítsa össze az eredményeket, mielőtt kiválasztaná a beállítást a prezentációhoz.

Beállítás letiltva (false, alapértelmezett) Beállítás engedélyezve (true)
PDF a nem támogatott betűstílus rasterizálásával letiltva PDF a nem támogatott betűstílus rasterizálásával engedélyezve

Ebben a példában a beállítás engedélyezése csak a félkövér szöveget bitmapként alakítja: nem lehet kiválasztani, másolni vagy szövegként keresni OCR nélkül, és a szélei lágyabbnak tűnnek 800% nagyítással. A szabályos szöveg kereshető marad. Ha a beállítás le van tiltva, mindkét szöveg marad szöveg.

Ez a beállítás bitmapként rasterizálja a félkövérként formázott szöveget, ha a betűkészletnek nincs dedikált félkövér változata. A Font Substitution ehelyett egy másik betűkészletet választ, ha az eredeti nem érhető el.

Kijelölt diák konvertálása PowerPoint‑ból PDF‑be

Az alábbi példa a prezentáció 1. és 3. diáját exportálja PDF‑be. A tömbben szereplő diák számítása egytől indul, és a bemeneti prezentációnak legalább három diája kell, hogy legyen.

import com.aspose.slides.*;

Presentation presentation = new Presentation("PowerPoint.pptx");
try {
    int[] slides = { 1, 3 };
    presentation.save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf);
} finally {
    presentation.dispose();
}

PowerPoint konvertálása PDF‑be egyéni diamérettel

Az alábbi példa az első diát egy új prezentációba másolja, amelynek diamérete 612 × 792 pont (8,5 × 11 hüvelyk). A diatartalmat méretezve illeszti és az egyetlen diát PDF‑be exportálja.

import com.aspose.slides.*;

float slideWidth = 612;
float slideHeight = 792;

Presentation presentation = new Presentation("SelectedSlides.pptx");
Presentation resizedPresentation = new Presentation();

try {
    resizedPresentation.getSlideSize().setSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit);
    
    ISlide slide = presentation.getSlides().get_Item(0);
    resizedPresentation.getSlides().insertClone(0, slide);

    // Távolítsa el az üres diát, amelyet az új prezentáció hozott létre.
    resizedPresentation.getSlides().removeAt(1);

    resizedPresentation.save("PDF_with_custom_slide_size.pdf", SaveFormat.Pdf);
} finally {
    resizedPresentation.dispose();
    presentation.dispose();
}

PowerPoint konvertálása PDF‑be jegyzet dianézetben

Az alábbi példa egy prezentációt exportál PDF‑be, a minden diát kísérő előadói megjegyzéseket a dia alá helyezve. A megtekintéshez használjon olyat a prezentációt, amely tartalmaz előadói megjegyzéseket.

import com.aspose.slides.*;

Presentation presentation = new Presentation("SelectedSlides.pptx");
try {
    NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
    notesOptions.setNotesPosition(NotesPositions.BottomFull);
    
    PdfOptions pdfOptions = new PdfOptions();
    pdfOptions.setSlidesLayoutOptions(notesOptions);

    presentation.save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

PDF akadálymentesség és megfelelőségi szabványok

Az Aspose.Slides lehetővé teszi olyan konverziós eljárás használatát, amely megfelel a Web Content Accessibility Guidelines (WCAG) szabványnak. A PowerPoint dokumentumot PDF‑be exportálhatja bármelyik következő megfelelőségi szabvány használatával: PDF/A1a, PDF/A1b, és PDF/UA.

Ez a kód egy PowerPoint‑PDF konverziós folyamatot mutat be, amely több PDF‑et hoz létre különböző megfelelőségi szabványok alapján:

import com.aspose.slides.*;

Presentation presentation = new Presentation("pres.pptx");
try {
    PdfOptions pdfOptions = new PdfOptions();

    pdfOptions.setCompliance(PdfCompliance.PdfA1a);
    presentation.save("pres-a1a-compliance.pdf", SaveFormat.Pdf, pdfOptions);

    pdfOptions.setCompliance(PdfCompliance.PdfA1b);
    presentation.save("pres-a1b-compliance.pdf", SaveFormat.Pdf, pdfOptions);

    pdfOptions.setCompliance(PdfCompliance.PdfUa);
    presentation.save("pres-ua-compliance.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Megjegyzés: PDF/UA exportálásakor az Aspose.Slides összetett grafikákat, például SmartArt‑ot, diagramokat és képleteket egyetlen alakzatként kezel. Az egyedi útvonal elemek nem maradnak meg különálló tartalomként, és jelölhetők artefaktként; alternatív szöveg csak az egész alakzatra vonatkozik.

GYIK

Több PowerPoint fájlt konvertálhatok egyszerre PDF‑be?
Igen, az Aspose.Slides támogatja több PPT vagy PPTX fájl kötegelt PDF‑be konvertálását. A fájlokon végigiterálhat, és a konverziós folyamatot programozottan alkalmazhatja.

Lehet jelszóval védeni a konvertált PDF-et?
Igen. Használja a PdfOptions osztályt a jelszó beállításához és a hozzáférési jogosultságok meghatározásához a konverzió során.

Hogyan tudom a rejtett diákat belevinni a PDF‑be?
Hívja meg a setShowHiddenSlides metódust true értékkel a PdfOptions osztályban, hogy a rejtett diák a kimeneti PDF‑ben is megjelenjenek.

Az Aspose.Slides képes fenntartani a magas képi minőséget a PDF‑ben?
Igen, a képek minőségét a setJpegQuality és a setSufficientResolution metódusokkal a PdfOptions osztályban szabályozhatja, hogy PDF‑jében magas minőségű képek legyenek.

Az Aspose.Slides támogatja a PDF/A megfelelőségi szabványokat?
Igen, az Aspose.Slides lehetővé teszi, hogy olyan PDF‑eket exportáljon, amelyek megfelelnek a különböző szabványok, beleértve a PDF/A1a, PDF/A1b és PDF/UA szabványokat, biztosítva, hogy dokumentumai megfeleljenek az akadálymentességi és archiválási követelményeknek.

További források