تحويل عروض PowerPoint إلى HTML على Android
نظرة عامة
تشرح هذه المقالة كيفية تحويل عرض PowerPoint التقديمي إلى تنسيق HTML باستخدام Java. وتغطي المواضيع التالية.
- تحويل PowerPoint إلى HTML في Java
- تحويل PPT إلى HTML في Java
- تحويل PPTX إلى HTML في Java
- تحويل ODP إلى HTML في Java
- تحويل شريحة PowerPoint إلى HTML في Java
PowerPoint إلى HTML على Android
للحصول على عينة كود Java لتحويل PowerPoint إلى HTML، يرجى مراجعة القسم أدناه وهو Convert PowerPoint to HTML. يمكن للكود تحميل عدد من الصيغ مثل PPT و PPTX و ODP في كائن Presentation وحفظه بتنسيق HTML.
حول تحويل PowerPoint إلى HTML
باستخدام Aspose.Slides for Android via Java، يمكن للتطبيقات والمطورين تحويل عرض PowerPoint إلى HTML: PPTX إلى HTML أو PPT إلى HTML.
Aspose.Slides توفر العديد من الخيارات (معظمها من فئة HtmlOptions) التي تحدد عملية تحويل PowerPoint إلى HTML:
- تحويل عرض PowerPoint كامل إلى HTML.
- تحويل شريحة محددة في عرض PowerPoint إلى HTML.
- تحويل وسائط العرض (صور، فيديوهات، إلخ) إلى HTML.
- تحويل عرض PowerPoint إلى HTML مستجيب.
- تحويل عرض PowerPoint إلى HTML مع تضمين أو استبعاد ملاحظات المتحدث.
- تحويل عرض PowerPoint إلى HTML مع تضمين أو استبعاد التعليقات.
- تحويل عرض PowerPoint إلى HTML مع الخطوط الأصلية أو المدمجة.
- تحويل عرض PowerPoint إلى HTML مع استخدام نمط CSS الجديد.
باستخدام واجهة برمجة التطبيقات الخاصة بها، طورت Aspose محولات مجانية من presentation to HTML : PPT إلى HTML, PPTX إلى HTML, ODP إلى HTML, إلخ.
قد ترغب في الاطلاع على محولات مجانية أخرى من Aspose.
تحويل PowerPoint إلى HTML
باستخدام Aspose.Slides، يمكنك تحويل عرض PowerPoint كامل إلى HTML بهذه الطريقة:
- إنشاء نسخة من الفئة Presentation .
- استخدام طريقة Save لحفظ الكائن كملف HTML.
هذا الكود يوضح لك كيفية تحويل PowerPoint إلى HTML في Java:
// إنشاء كائن Presentation الذي يمثل ملف عرض تقديمي
Presentation pres = new Presentation("Convert_HTML.pptx");
try {
HtmlOptions htmlOpt = new HtmlOptions();
htmlOpt.getNotesCommentsLayouting().setNotesPosition(NotesPositions.BottomFull);
htmlOpt.setHtmlFormatter(HtmlFormatter.createDocumentFormatter("", false));
// حفظ العرض التقديمي إلى HTML
pres.save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt);
} finally {
if (pres != null) pres.dispose();
}
تحويل PowerPoint إلى HTML مستجيب
توفر Aspose.Slides الفئة ResponsiveHtmlController التي تسمح بإنشاء ملفات HTML مستجيبة. هذا الكود يوضح لك كيفية تحويل عرض PowerPoint إلى HTML مستجيب في Java:
// إنشاء كائن Presentation الذي يمثل ملف عرض تقديمي
Presentation pres = new Presentation("Convert_HTML.pptx");
try {
ResponsiveHtmlController controller = new ResponsiveHtmlController();
HtmlOptions htmlOptions = new HtmlOptions();
htmlOptions.setHtmlFormatter(HtmlFormatter.createCustomFormatter(controller));
// حفظ العرض التقديمي إلى HTML
pres.save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions);
} finally {
if (pres != null) pres.dispose();
}
تحويل PowerPoint إلى HTML مع الملاحظات
هذا الكود يوضح لك كيفية تحويل PowerPoint إلى HTML مع الملاحظات في Java:
Presentation pres = new Presentation("Presentation.pptx");
try {
HtmlOptions opt = new HtmlOptions();
INotesCommentsLayoutingOptions options = opt.getNotesCommentsLayouting();
options.setNotesPosition(NotesPositions.BottomFull);
// حفظ صفحات الملاحظات
pres.save("Output.html", SaveFormat.Html, opt);
} finally {
if (pres != null) pres.dispose();
}
تحويل PowerPoint إلى HTML مع الخطوط الأصلية
توفر Aspose.Slides الفئة EmbedAllFontsHtmlController التي تسمح بدمج جميع الخطوط في العرض أثناء تحويل العرض إلى HTML.
لمنع دمج بعض الخطوط، يمكنك تمرير مصفوفة بأسماء الخطوط إلى مُنشئ مُعدَّل من فئة EmbedAllFontsHtmlController. الخطوط الشائعة مثل Calibri أو Arial، عندما تُستخدم في عرض، لا يلزم دمجها لأن معظم الأنظمة تحتوي على هذه الخطوط مسبقًا. عندما تُدمج هذه الخطوط، يصبح مستند HTML الناتج كبيرًا غير ضروري.
فئة EmbedAllFontsHtmlController تدعم الوراثة وتوفر طريقة WriteFont التي تهدف إلى إعادة تعريفها.
Presentation pres = new Presentation("input.pptx");
try {
// استبعاد خطوط العرض التقديمي الافتراضية
String[] fontNameExcludeList = { "Calibri", "Arial" };
EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList);
HtmlOptions htmlOptionsEmbed = new HtmlOptions();
htmlOptionsEmbed.setHtmlFormatter(HtmlFormatter.createCustomFormatter(embedFontsController));
pres.save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed);
} finally {
if (pres != null) pres.dispose();
}
تحويل PowerPoint إلى HTML مع صور عالية الجودة
بشكل افتراضي، عند تحويل PowerPoint إلى HTML، ينتج Aspose.Slides ملفات HTML صغيرة مع صور بدقة 72 DPI ومساحات مقصوصة محذوفة. للحصول على ملفات HTML ذات صور ذات جودة أعلى، يجب ضبط خاصية PicturesCompression (من فئة HtmlOptions) إلى 96 (أي PicturesCompression.Dpi96) أو قيم أعلى.
هذا الكود في Java يوضح لك كيفية تحويل عرض PowerPoint إلى HTML مع الحصول على صور عالية الجودة بدقة 150 DPI (أي PicturesCompression.Dpi150):
Presentation pres = new Presentation("InputDoc.pptx");
try {
HtmlOptions htmlOpts = new HtmlOptions();
htmlOpts.setPicturesCompression(PicturesCompression.Dpi150);
pres.save("OutputDoc-dpi150.html", SaveFormat.Html, htmlOpts);
} finally {
if (pres != null) pres.dispose();
}
هذا الكود في Java يوضح لك طريقة إخراج HTML بصور ذات جودة كاملة:
Presentation pres = new Presentation("InputDoc.pptx");
try {
HtmlOptions htmlOpts = new HtmlOptions();
htmlOpts.setDeletePicturesCroppedAreas(false);
pres.save("Outputdoc-noCrop.html", SaveFormat.Html, htmlOpts);
} finally {
if (pres != null) pres.dispose();
}
تحويل شريحة إلى HTML
لتحويل شريحة محددة في PowerPoint إلى HTML، يجب إنشاء نسخة من نفس فئة Presentation (المستخدمة لتحويل العروض الكاملة إلى HTML) ثم استخدام طريقة Save لحفظ الملف كـ HTML. يمكن استخدام فئة HtmlOptions لتحديد خيارات تحويل إضافية:
هذا الكود في Java يوضح لك كيفية تحويل شريحة في عرض PowerPoint إلى HTML:
Presentation pres = new Presentation("Individual-Slide.pptx");
try {
HtmlOptions htmlOptions = new HtmlOptions();
htmlOptions.getNotesCommentsLayouting().setNotesPosition(NotesPositions.BottomFull);
htmlOptions.setHtmlFormatter(HtmlFormatter.createCustomFormatter(new CustomFormattingController()));
// حفظ الملف
for (int i = 0; i < pres.getSlides().size(); i++)
pres.save("Individual Slide" + (i + 1) + "_out.html", new int[]{i + 1},SaveFormat.Html, htmlOptions);
} finally {
if (pres != null) pres.dispose();
}
public class CustomFormattingController implements IHtmlFormattingController
{
@Override
public void writeDocumentStart(IHtmlGenerator generator, IPresentation presentation) { }
@Override
public void writeDocumentEnd(IHtmlGenerator generator, IPresentation presentation) { }
@Override
public void writeSlideStart(IHtmlGenerator generator, ISlide slide)
{
generator.addHtml(String.format(SlideHeader, generator.getSlideIndex() + 1));
}
@Override
public void writeSlideEnd(IHtmlGenerator generator, ISlide slide)
{
generator.addHtml(SlideFooter);
}
@Override
public void writeShapeStart(IHtmlGenerator generator, IShape shape) { }
@Override
public void writeShapeEnd(IHtmlGenerator generator, IShape shape) { }
private final String SlideHeader = "<div class=\"slide\" name=\"slide\" id=\"slide%d\">";
private final String SlideFooter = "</div>";
}
حفظ CSS والصور عند تصدير إلى HTML
باستخدام ملفات نمط CSS الجديدة، يمكنك بسهولة تغيير نمط ملف HTML الناتج عن عملية تحويل PowerPoint إلى HTML.
الكود في Java في هذا المثال يوضح لك كيفية استخدام طرق يمكن تجاوزها لإنشاء مستند HTML مخصص مع رابط إلى ملف CSS:
Presentation pres = new Presentation("pres.pptx");
try {
CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css");
HtmlOptions options = new HtmlOptions();
options.setHtmlFormatter(HtmlFormatter.createCustomFormatter(htmlController));
pres.save("pres.html", SaveFormat.Html, options);
} finally {
if (pres != null) pres.dispose();
}
public class CustomHeaderAndFontsController extends EmbedAllFontsHtmlController
{
private final int m_basePath = 0;
// قالب رأس مخصص
final static String Header = "<!DOCTYPE html>\n" +
"<html>\n" +
"<head>\n" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" +
"<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\">\n" +
"<link rel=\"stylesheet\" type=\"text/css\" href=\"%s\">\n" +
"</head>";
private final String m_cssFileName;
public CustomHeaderAndFontsController(String cssFileName)
{
m_cssFileName = cssFileName;
}
public void writeDocumentStart(IHtmlGenerator generator, IPresentation presentation)
{
generator.addHtml(String.format(Header, m_cssFileName));
writeAllFonts(generator, presentation);
}
public void writeAllFonts(IHtmlGenerator generator, IPresentation presentation)
{
generator.addHtml("<!-- Embedded fonts -->");
super.writeAllFonts(generator, presentation);
}
}
ربط جميع الخطوط عند تحويل عرض إلى HTML
إذا كنت لا ترغب في دمج الخطوط (لتجنب زيادة حجم HTML الناتج)، يمكنك ربط جميع الخطوط عبر تنفيذ نسخة خاصة بك من LinkAllFontsHtmlController.
هذا الكود في Java يوضح لك كيفية تحويل PowerPoint إلى HTML مع ربط جميع الخطوط واستثناء “Calibri” و “Arial” (لأنهما موجودان بالفعل في النظام):
Presentation pres = new Presentation("pres.pptx");
try
{
//استبعاد خطوط العرض التقديمي الافتراضية
String[] fontNameExcludeList = { "Calibri", "Arial" };
LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList,"C:/Windows/Fonts/");
HtmlOptions htmlOptionsEmbed = new HtmlOptions();
htmlOptionsEmbed.setHtmlFormatter(HtmlFormatter.createCustomFormatter((IHtmlFormattingController) linkcont));
pres.save("pres.html", SaveFormat.Html, htmlOptionsEmbed);
}
finally {
if (pres != null) pres.dispose();
}
هذا الكود في Java يوضح لك طريقة تنفيذ LinkAllFontsHtmlController:
public class LinkAllFontsHtmlController extends EmbedAllFontsHtmlController
{
private final String m_basePath;
public LinkAllFontsHtmlController(String[] fontNameExcludeList, String basePath)
{
super(fontNameExcludeList);
m_basePath = basePath;
}
public void writeFont
(
IHtmlGenerator generator,
IFontData originalFont,
IFontData substitutedFont,
String fontStyle,
String fontWeight,
byte[] fontData)
{
try {
String fontName = substitutedFont == null ? originalFont.getFontName() : substitutedFont.getFontName();
String path = fontName + ".woff"; // قد تكون هناك حاجة إلى تنقية المسار
Files.write(new File(m_basePath + path).toPath(), fontData, StandardOpenOption.CREATE);
generator.addHtml("<style>");
generator.addHtml("@font-face { ");
generator.addHtml("font-family: '" + fontName + "'; ");
generator.addHtml("src: url('" + path + "')");
generator.addHtml(" }");
generator.addHtml("</style>");
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
تحويل PowerPoint إلى HTML مستجيب
هذا الكود في Java يوضح لك كيفية تحويل عرض PowerPoint إلى HTML مستجيب:
Presentation pres = new Presentation("SomePresentation.pptx");
try {
HtmlOptions saveOptions = new HtmlOptions();
saveOptions.setSvgResponsiveLayout(true);
pres.save("SomePresentation-out.html", SaveFormat.Html, saveOptions);
} finally {
if (pres != null) pres.dispose();
}
تصدير ملفات الوسائط إلى HTML
باستخدام Aspose.Slides for Android via Java، يمكنك تصدير ملفات الوسائط بهذه الطريقة:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع إلى الشريحة.
- إضافة فيديو إلى الشريحة.
- كتابة العرض كملف HTML.
هذا الكود في Java يوضح لك كيفية إضافة فيديو إلى العرض ثم حفظه كـ HTML:
// تحميل عرض تقديمي
Presentation pres = new Presentation();
try {
String path = "./out/";
final String fileName = "ExportMediaFiles_out.html";
final String baseUri = "http://www.example.com/";
byte[] videoData = Files.readAllBytes(Paths.get("my_video.avi"));
IVideo video = pres.getVideos().addVideo(videoData);
pres.getSlides().get_Item(0).getShapes().addVideoFrame(10, 10, 100, 100, video);
VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri);
// إعداد خيارات HTML
HtmlOptions htmlOptions = new HtmlOptions(controller);
SVGOptions svgOptions = new SVGOptions(controller);
htmlOptions.setHtmlFormatter(HtmlFormatter.createCustomFormatter(controller));
htmlOptions.setSlideImageFormat(SlideImageFormat.svg(svgOptions));
// حفظ الملف
pres.save(fileName, SaveFormat.Html, htmlOptions);
} catch(Exception e) {
} finally {
if (pres != null) pres.dispose();
}
الأسئلة الشائعة
ما هو أداء Aspose.Slides عند تحويل عروض تقديمية متعددة إلى HTML؟
يعتمد الأداء على حجم وتعقيد العروض. Aspose.Slides فعال للغاية وقابل للتوسع لعمليات الدفعات. لتحقيق أداء مثالي عند تحويل عدد كبير من العروض، يوصى باستخدام تعدد الخيوط أو المعالجة المتوازية كلما كان ذلك ممكنًا.
هل تدعم Aspose.Slides تصدير الروابط التشعبية إلى HTML؟
نعم، تدعم Aspose.Slides تصدير الروابط التشعبية المدمجة إلى HTML بالكامل. عند تحويل العروض إلى تنسيق HTML، تُحافظ الروابط التشعبية تلقائيًا على نشاطها وتظل قابلة للنقر.
هل هناك أي حد لعدد الشرائح عند تحويل العروض إلى HTML؟
لا يوجد حد لعدد الشرائح عند استخدام Aspose.Slides. يمكنك تحويل عروض بأي حجم. ولكن بالنسبة للعروض التي تحتوي على عدد كبير جدًا من الشرائح، قد يعتمد الأداء على موارد الخادم أو النظام المتاحة.
