Java ZIP เป็น PDF

ไฟล์ ZIP มักใช้ในการบีบอัดและรวมไฟล์หลาย ๆ ไฟล์ไว้ในไฟล์เก็บถาวรเดียว การแปลงไฟล์เหล่านี้เป็นรูปแบบ PDF อาจมีประโยชน์สำหรับวัตถุประสงค์ต่างๆ เช่น การสร้างรายงาน การเก็บถาวรเอกสาร หรือการแชร์ข้อมูลในรูปแบบมาตรฐาน ในบทช่วยสอนนี้ เราจะสำรวจวิธีแปลงไฟล์ ZIP เป็นเอกสาร PDF โดยใช้ Java

ทำไมต้องแปลง ZIP เป็น PDF

คุณอาจต้องแปลงไฟล์ ZIP เป็นรูปแบบ PDF สำหรับกรณีการใช้งานที่แตกต่างกัน ต่อไปนี้เราจะพูดถึงเหตุผลบางประการสำหรับการแปลง:

การสร้างรายงาน: สร้างรายงาน PDF โดยการดึงข้อมูลจากไฟล์ ZIP และนำเสนอในรูปแบบเอกสารที่จัดรูปแบบ

การเก็บถาวรเอกสาร: แปลงเอกสารหรือไฟล์หลายไฟล์ที่จัดเก็บไว้ในไฟล์ ZIP เป็นไฟล์ PDF เดียวเพื่อให้เก็บและเรียกค้นได้ง่าย

การกำหนดมาตรฐานเอกสาร: แปลงรูปแบบไฟล์ที่หลากหลายภายในไฟล์ ZIP เป็นรูปแบบ PDF ที่เหมือนกันเพื่อการแชร์และการดูที่ง่ายขึ้น

ZIP เป็น PDF Converter - การกำหนดค่าสภาพแวดล้อม Java

คุณต้องกำหนดค่าสภาพแวดล้อมการพัฒนาให้รันโค้ด Java และฝังคุณสมบัติลงในระบบของคุณ

  • ตรวจสอบให้แน่ใจว่าติดตั้ง Java Development Kit (JDK) บนระบบของคุณแล้ว
  • ตรวจสอบให้แน่ใจว่าคุณมี Integrated Development Environment (IDE) เช่น IntelliJ IDEA, Apache NetBeans สำหรับการพัฒนา Java
  • นอกจากนี้ ให้ดาวน์โหลดไฟล์ JAR ของ Conholdate.Total for Java หรือใช้การกำหนดค่า Maven ต่อไปนี้:
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.2</version>
<type>pom</type>
</dependency>

แปลง ZIP เป็น PDF ในภาษาจาวา

ขั้นตอนด้านล่างสาธิตวิธีการแปลง ZIP เป็น PDF ใน Java:

  • เริ่มต้นวัตถุ ZipInputStream โดยใช้ไฟล์ ZIP อินพุต
  • ระบุไดเร็กทอรีเอาต์พุตที่จะบันทึกไฟล์ที่แตกออกมา
  • วนซ้ำแต่ละไฟล์ในไฟล์ ZIP อินพุตและแตกไฟล์ไปยังไดเร็กทอรีเอาต์พุต
  • รักษารายการชั่วคราวเพื่อจัดเก็บชื่อไฟล์ที่แยกจากโฟลเดอร์ที่คลายซิป
  • รับรายการไฟล์ทั้งหมด (รวมถึงเส้นทางแบบเต็ม) จากโฟลเดอร์ที่คลายซิป
  • วนซ้ำแต่ละไฟล์ที่แตกออกมาแล้วแปลงเป็นรูปแบบ PDF
  • รวมไฟล์ PDF ที่แปลงแล้ว
  • สร้างอินสแตนซ์ของคลาส Merger ด้วยเอกสาร PDF อินพุตแรกจากรายการชั่วคราว
  • วนซ้ำรายการเอกสาร PDF ที่แปลงแล้ว โดยเริ่มจากไฟล์ที่สอง
  • เรียกใช้วิธีการบันทึกของอินสแตนซ์คลาส Merger เพื่อบันทึกเอกสาร PDF ที่ผสาน

โค้ดตัวอย่างต่อไปนี้แสดงวิธีแปลง ZIP เป็น PDF ใน Java:

// รูปแบบไฟล์ที่รองรับ: https://docs.groupdocs.com/conversion/java/supported-document-formats/
// ทำงานร่วมกับ OpenJDK 17

package com.mycompany.asposejavatest;

import java.io.*;
import java.util.ArrayList;
import org.apache.commons.compress.archivers.*;
import org.apache.commons.compress.compressors.*;
import com.groupdocs.conversion.*;
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.contracts.PossibleConversions;
import com.groupdocs.conversion.options.convert.ConvertOptions;
import com.groupdocs.merger.*;
import com.groupdocs.merger.Merger;

public class AsposeJavaTest {

    public static void main(String[] args) {

        try {
            InputStream inputfile = new BufferedInputStream(new FileInputStream("input.zip"));

            // สำหรับรูปแบบเหล่านั้นที่เก็บถาวรและบีบอัดแยกกัน เช่นเดียวกับ tar.gz tar.bz tar.xz การใช้งาน
            // CompressorInputStream และใช้ ArchiveInputStream เพื่อโหลดไฟล์อินพุต
            //CompressorInputStream cis = ใหม่ CompressorStreamFactory().createCompressorInputStream(ไฟล์อินพุต);
            //ArchiveInputStream ais = ใหม่ ArchiveStreamFactory().createArchiveInputStream(cis);

            // สำหรับรูปแบบที่รองรับการบีบอัดในตัว เช่นเดียวกับ Zip RAR JAR 7zip
            // ArchiveInputStream เพื่อโหลดไฟล์อินพุตโดยไม่มี CompressorInputStream
            //ArchiveInputStream ais = ใหม่ ArchiveStreamFactory().createArchiveInputStream(ไฟล์อินพุต);

            ArchiveEntry entry = ais.getNextEntry();

            File outputDir = new File("/tmp/output");
            if (!outputDir.exists()) {
                outputDir.mkdirs();
            }

            while (entry != null) {
                String filePath = outputDir.getAbsolutePath() + File.separator + entry.getName();
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
                byte[] bytesIn = new byte[1024];
                int read;

                while ((read = ais.read(bytesIn)) != -1) {
                    bos.write(bytesIn, 0, read);
                }

                ais.close();
                bos.close();
                entry = ais.getNextEntry();
            }

            // รายการชั่วคราวเพื่อเก็บชื่อของไฟล์ที่แยกจากโฟลเดอร์ที่คลายซิป
            ArrayList<String> filesList = new ArrayList<>();

            // รับรายการไฟล์ทั้งหมด (พร้อมเส้นทางแบบเต็ม) จากโฟลเดอร์ที่คลายซิป
            File[] files = outputDir.listFiles();

            // วนซ้ำแต่ละไฟล์ที่คลายซิปแล้วแปลงแต่ละไฟล์เป็น PDF
           for (File file : files) {
                // โหลดไฟล์ที่แยกออกมา
                Converter converter = new Converter(file.getAbsolutePath());
                // ตั้งค่าตัวเลือกการแปลงสำหรับรูปแบบ PDF				
                PdfConvertOptions convertOptions = new PdfConvertOptions();                
                // แปลงเป็นรูปแบบ PDF
                String outPath = outputDir.getAbsolutePath() + File.separator + file.getName()+ ".pdf";
                converter.convert(outPath, convertOptions);
                // เพิ่มชื่อไฟล์ลงในรายการชั่วคราวหลังจากแปลงเป็น PDF
                filesList.add(outPath);
            }

            // รวมไฟล์ PDF โดยใช้ GroupDocs.Merger API
            // สร้างอินสแตนซ์การควบรวมกิจการด้วยเอกสาร PDF อินพุตแรกในรายการชั่วคราว
            Merger merger = new Merger(filesList.get(0));

            // วนซ้ำรายการเอกสาร PDF ที่แปลงแล้วโดยเริ่มจากไฟล์ที่สอง
           for (int i = 1; i < filesList.size(); i++) {
                // เรียกวิธีการเข้าร่วมของอินสแตนซ์คลาส Merger และส่งไฟล์ต้นฉบับที่เหลือทีละไฟล์
                merger.join(filesList.get(i));
            }

            // เรียกวิธีการบันทึกของอินสแตนซ์คลาส Merger เพื่อบันทึกเอกสาร PDF ที่ผสาน
            merger.save("/tmp/output.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ใบอนุญาตการประเมินผลฟรี

คุณสามารถแปลงไฟล์ ZIP เป็นรูปแบบ PDF และทดสอบฟีเจอร์ API อื่นๆ ให้เต็มประสิทธิภาพได้โดยการขอ [ใบอนุญาตชั่วคราวฟรี]

ห่อ

บทความนี้สรุปการแปลงไฟล์ ZIP เป็น PDF ในภาษา Java มันเกี่ยวข้องกับการแตกไฟล์จากไฟล์ ZIP แปลงเป็นรูปแบบ PDF จากนั้นจึงรวมเป็นเอกสาร PDF เดียว นอกจากนี้ กระบวนการนี้ยังสามารถทำให้เป็นอัตโนมัติและปรับแต่งเพิ่มเติมได้ตามความต้องการเฉพาะของคุณ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

คำถามที่พบบ่อย

ฉันสามารถปรับแต่งเอกสาร PDF ที่สร้างจากไฟล์ ZIP ได้หรือไม่

ใช่ คุณสามารถปรับแต่งเอกสาร PDF ที่สร้างจากไฟล์ ZIP ได้ คุณสามารถใช้การปรับแต่งต่างๆ เช่น การตั้งค่าแบบอักษร สี เลย์เอาต์ และองค์ประกอบการจัดรูปแบบอื่นๆ เพื่อปรับปรุงการนำเสนอภาพของเอกสาร PDF ของคุณ คุณยังสามารถเพิ่มส่วนหัว ท้ายกระดาษ ลายน้ำ และคำอธิบายประกอบได้ตามความต้องการของคุณ

ฉันสามารถแปลงไฟล์บางไฟล์ภายในไฟล์ ZIP เป็น PDF แทนที่จะแปลงไฟล์ทั้งหมดได้หรือไม่

ใช่ คุณสามารถแปลงไฟล์เฉพาะภายในไฟล์ ZIP เป็น PDF ได้โดยแก้ไขโค้ด Java ของคุณตามลำดับ คุณสามารถแยกไฟล์ที่ต้องการได้ตามชื่อ นามสกุล หรือเกณฑ์อื่นๆ จากนั้นแปลงเฉพาะไฟล์ที่แยกออกมาเป็นรูปแบบ PDF ซึ่งช่วยให้สามารถเลือกการแปลงและปรับแต่งได้ตามความต้องการของคุณ

มีวิธีป้องกันด้วยรหัสผ่านสำหรับเอกสาร PDF ที่เป็นผลลัพธ์ระหว่างการแปลงหรือไม่

ได้ คุณสามารถป้องกันด้วยรหัสผ่านในเอกสาร PDF ที่ได้ เนื่องจากฟีเจอร์ที่รองรับ ได้แก่ การเข้ารหัส PDF การตั้งรหัสผ่าน การอนุญาต และระดับการเข้ารหัสสำหรับเอกสาร PDF

ดูสิ่งนี้ด้วย