تحويل HTML إلى PDF في Java

يمكن لـ Aspose.PDF for Java تحويل ملفات HTML المحلية، ومحتوى MHTML المؤرشف، وصفحات الويب الحية إلى مستندات PDF. يمكنك التحكم في خط أنابيب التحويل باستخدام HtmlLoadOptions و MhtLoadOptions للتأثير على تحجيم التخطيط، معالجة وسائط CSS، أولوية قواعد الصفحة، تضمين الخطوط، حل الموارد، وسلوك عرض الصفحة الواحدة.

تحويل HTML إلى PDF

استخدم هذا المثال عندما يجب تحويل ملف HTML محلي مباشرةً إلى مستند PDF.

  1. أنشئ كائنًا من الفئة HtmlLoadOptions لتكوين كيفية تفسير مصدر HTML أثناء الاستيراد.
  2. عيّن HtmlPageLayoutOption إلى ScaleToPageWidth لذلك يتم تعديل محتوى HTML الواسع ليتناسب مع عرض صفحة PDF المستهدفة بدلاً من قطعه.
  3. افتح ملف HTML المصدر عن طريق تمرير مساره وخيارات التحميل المُكوَّنة إلى Document منشئ.
  4. احفظ ما تم إنشاؤه Document كملف PDF في مسار الإخراج المستهدف.
public static void convertHtmlToPdf(Path inputFile, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions();
    loadOptions.setPageLayoutOption(HtmlPageLayoutOption.ScaleToPageWidth);
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

تحويل HTML إلى PDF مع خيارات نوع الوسائط

استخدم هذا المثال عندما يجب التحكم في معالجة نوع وسائط CSS أثناء تحويل HTML.

  1. أنشئ مثيلًا HtmlLoadOptions لإعدادات التحويل.
  2. عيّن HtmlMediaType إلى Screen عند الحاجة إلى عرض HTML باستخدام قواعد CSS المخصصة للعرض على الشاشة بدلاً من وسائط الطباعة.
  3. افتح ملف HTML باستخدام خيارات التحميل المكوَّنة بحيث يتم تطبيق الأنماط المعتمدة على استعلامات الوسائط أثناء التحويل.
  4. احفظ الناتج Document كملف PDF..
public static void convertHtmlToPdfMediaType(Path inputFile, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions();
    loadOptions.setHtmlMediaType(HtmlMediaType.Screen);
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

تحويل HTML إلى PDF مع أولوية قاعدة صفحة CSS

استخدم هذا المثال عند CSS @page يجب أن تؤثر القواعد على تخطيط صفحة PDF النهائي.

  1. أنشئ المثيل HtmlLoadOptions قبل فتح ملف HTML..
  2. اضبط setPriorityCssPageRule(false) عندما يجب أن تتجاوز إعدادات التخطيط الأخرى CSS @page الإعلانات في ترميز المصدر.
  3. حمّل محتوى HTML إلى Document مع الخيارات المُكوَّنة بحيث يتم حل تخطيط الصفحة أثناء الاستيراد.
  4. احفظ ملف PDF المُنتج.
public static void convertHtmlToPdfPriorityCssPageRule(Path inputFile, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions();
    loadOptions.setPriorityCssPageRule(false);
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

تحويل HTML إلى PDF مع خطوط مضمنة

استخدم هذا المثال عندما يجب على ملف PDF الناتج الحفاظ على خطوط HTML عن طريق تضمينها.

  1. أنشئ مثيلًا HtmlLoadOptions لتكوين استيراد HTML..
  2. فعّل setEmbedFonts(true) لذا يتم تخزين الخطوط التي تم حلّها أثناء عرض HTML في ملف PDF الناتج.
  3. افتح مصدر HTML باستخدام خيارات التحميل هذه للحفاظ على الطباعة الأصلية المتاحة في المستند النهائي.
  4. احفظ Document كملف PDF مع تضمين موارد الخط المدمجة.
public static void convertHtmlToPdfEmbedFonts(Path inputFile, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions();
    loadOptions.setEmbedFonts(true);
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

عرض محتوى HTML على صفحة PDF واحدة

استخدم هذا المثال عندما يجب الاحتفاظ بمحتوى HTML الطويل على صفحة PDF واحدة بدلاً من التدفق عبر صفحات متعددة.

  1. أنشئ مثيلًا HtmlLoadOptions لإعدادات التحويل.
  2. فعّل setRenderToSinglePage(true) لذا فإن HTML المستورد يُعرض على صفحة PDF واحدة بدلاً من أن يتم تقسيمه على عدة صفحات.
  3. افتح ملف HTML المصدر باستخدام خيارات التحميل المكوَّنة ودع Aspose.PDF يبني تخطيط الصفحة في Document.
  4. احفظ ملف PDF الناتج.
public static void convertHtmlToPdfRenderContentToSamePage(Path inputFile, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions();
    loadOptions.setRenderToSinglePage(true);
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

تحويل HTML يحتوي على SVG مضمّن

استخدم هذا المثال عندما يتضمن مصدر HTML بيانات SVG مدمجة يجب عرضها في ملف PDF.

  1. أنشئ كائنًا من الفئة HtmlLoadOptions مثال يضع الدليل الأب لملف HTML كمسار أساسي بحيث يمكن حل الموارد ذات الصلة بشكل ثابت أثناء التحويل.
  2. افتح ملف HTML الذي يحتوي على ترميز SVG مضمن بتمرير مسار المصدر وخيارات التحميل إلى Document منشئ.
  3. دع Aspose.PDF يعيد رسم DOM HTML مع العناصر المدمجة SVG إلى محتوى صفحة PDF..
  4. احفظ مستند PDF المُولَّد.
public static void convertHtmlToPdfWithSvgData(Path inputFile, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions(inputFile.getParent().toString());
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

تحويل صفحة ويب إلى PDF

استخدم هذا المثال عندما يجب عرض عنوان URL ويب مباشر وحفظه كمستند PDF.

  1. أنشئ كائنًا من الفئة HtmlLoadOptions مثال مع عنوان URL الهدف بحيث يمكن حل الموارد النسبية مثل أوراق الأنماط والصور بالنسبة لهذا العنوان.
  2. حوّل سلسلة URL إلى الكائن URL وفتح تدفق الإدخال الخاص به لجلب محتوى HTML الحي.
  3. أنشئ كائنًا من الفئة Document من تدفق الاستجابة وخيارات التحميل المكوَّنة بحيث تتم معالجة الصفحة التي تم تنزيلها باستخدام عنوان URL الأساسي الصحيح.
  4. احفظ صفحة الويب المعروضة كملف PDF وأغلق موارد التدفق تلقائيًا باستخدام try-with-resources..
public static void convertWebPageToPdf(String urlString, Path outputFile) {
    HtmlLoadOptions loadOptions = new HtmlLoadOptions(urlString);
    try {
        URL url = URI.create(urlString).toURL();

        try (InputStream inputStream = url.openStream()) {
            try (Document document = new Document(inputStream, loadOptions)) {
                document.save(outputFile.toString());
            }
        }
        System.out.println(url + " converted into " + outputFile);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

تحويل MHTML إلى PDF

استخدم هذا المثال عندما يجب تحويل ملف MHTML مؤرشف إلى مستند PDF.

  1. أنشئ المثيل MhtLoadOptions لإخبار Aspose.PDF بتحميل المصدر كـ MIME HTML content..
  2. افتح .mht أو .mhtml ملف عن طريق تمرير مساره وخيارات تحميل MHTML إلى Document منشئ.
  3. دع Aspose.PDF يقوم بتحليل محتوى HTML المؤرشف والموارد المدمجة فيه إلى نموذج مستند PDF..
  4. احفظ ملف PDF المُنتج.
public static void convertMhtmlToPdf(Path inputFile, Path outputFile) {
    MhtLoadOptions loadOptions = new MhtLoadOptions();
    try (Document document = new Document(inputFile.toString(), loadOptions)) {
        document.save(outputFile.toString());
    }
    System.out.println(inputFile + " converted into " + outputFile);
}