Mengonversi Format File Lain ke PDF di .NET

Overview

Artikel ini menjelaskan cara mengkonversi berbagai jenis format file lain ke PDF menggunakan C#. Ini mencakup topik berikut.

Potongan kode berikut juga bekerja dengan pustaka Aspose.PDF.Drawing.

Format: EPUB

Format: Markdown

Format: MD

Format: PCL

Format: Text

Format: TXT

Format: Plain Text

Format: Teks Terformat

Format: Teks Praformat

Format: XPS

Mengonversi EPUB ke PDF

Aspose.PDF for .NET memungkinkan Anda untuk dengan mudah mengonversi file EPUB ke format PDF.

EPUB (singkatan dari publikasi elektronik) adalah standar e-book gratis dan terbuka dari International Digital Publishing Forum (IDPF). EPUB (singkatan dari publikasi elektronik) adalah standar buku elektronik gratis dan terbuka dari International Digital Publishing Forum (IDPF).

EPUB juga mendukung konten dengan tata letak tetap. Format ini dimaksudkan sebagai satu format yang dapat digunakan oleh penerbit dan rumah konversi baik secara internal maupun untuk distribusi dan penjualan. Ini menggantikan standar Open eBook. Versi EPUB 3 juga didukung oleh Book Industry Study Group (BISG), sebuah asosiasi perdagangan buku terkemuka untuk praktik terbaik yang distandarisasi, penelitian, informasi, dan acara, untuk pengemasan konten.

Langkah-langkah: Konversi EPUB ke PDF dalam C# Langkah-langkah: Mengonversi EPUB ke PDF di C#

  1. Buat sebuah instansi dari kelas EpubLoadOptions.
  2. Buat sebuah instansi dari kelas Document dengan menyebutkan nama file sumber dan opsi.
  3. Simpan dokumen dengan nama file yang diinginkan.

Kode berikut menunjukkan cara mengonversi file EPUB ke format PDF dengan C#.

public static void ConvertEPUBtoPDF()
{
    EpubLoadOptions option = new EpubLoadOptions();
    Document pdfDocument= new Document(_dataDir + "WebAssembly.epub", option);
    pdfDocument.Save(_dataDir + "epub_test.pdf");
}

Anda juga dapat mengatur ukuran halaman untuk konversi. Untuk menentukan ukuran halaman baru, gunakan objek SizeF dan lewatkan ke konstruktor EpubLoadOptions.

public static void ConvertEPUBtoPDFAdv()
{
    EpubLoadOptions option = new EpubLoadOptions(new SizeF(1190, 1684));
    Document pdfDocument= new Document(_dataDir + "WebAssembly.epub", option);
    pdfDocument.Save(_dataDir + "epub_test.pdf");
}

Mengonversi Markdown ke PDF

Fitur ini didukung oleh versi 19.6 atau lebih tinggi.

Aspose.PDF untuk .NET menyediakan fungsionalitas untuk membuat dokumen PDF berdasarkan file data Markdown masukan. Untuk mengonversi Markdown ke PDF, Anda perlu menginisialisasi Dokumen menggunakan MdLoadOptions.

Potongan kode berikut menunjukkan cara menggunakan fungsionalitas ini dengan pustaka Aspose.PDF:

Langkah: Mengonversi Markdown ke PDF dalam C# | Langkah-langkah: Mengonversi Markdown ke PDF dalam C# | Langkah-langkah: Mengonversi MD ke PDF dalam C#

  1. Buat instance dari kelas MdLoadOptions.
  2. Buat instance dari kelas Document dengan menyebutkan nama file sumber dan opsi.
  3. Simpan dokumen dengan nama file yang diinginkan.
// Jalur ke direktori dokumen.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Buka dokumen Markdown
Document pdfDocument= new Document(dataDir + "sample.md", new MdLoadOptions());
// Simpan dokumen dalam format PDF
pdfDocument.Save(dataDir + "MarkdownToPDF.pdf");

Konversi PCL ke PDF

PCL (Printer Command Language) adalah bahasa printer yang dikembangkan oleh Hewlett-Packard untuk mengakses fitur printer standar. PCL (Printer Command Language) adalah bahasa printer yang dikembangkan oleh Hewlett-Packard untuk mengakses fitur printer standar.

Saat ini hanya mendukung PCL5 dan versi yang lebih lama

Sets of Commands Support Exceptions Description
Perintah kontrol pekerjaan
    <tr>
        <td>
            Perintah kontrol pekerjaan
        </td>
        <td>
            +
        </td>
        <td>
            Mode pencetakan dua sisi
        </td>
        <td>
            Kontrol proses pencetakan: jumlah salinan, tempat keluaran, pencetakan satu/dua sisi, offset kiri dan atas dll.
        </td>
    </tr>
    <tr>
        <td>
            Perintah kontrol halaman
        </td>
        <td>
            +
        </td>
        <td>
            Perintah Melompati Perforasi
        </td>
        <td>
            Tentukan ukuran halaman, margin, orientasi halaman, jarak antar-baris, antar-karakter dll.
        </td>
    </tr>
    <tr>
        <td>
            Perintah Posisi Kursor
        </td>
        <td>
            +
        </td>
        <td>
            &nbsp;
        </td>
        <td>
            Tentukan posisi kursor dan, oleh karena itu, asal-usul teks, gambar raster atau vektor, dan detailnya.
        </td>
    </tr>

Tentukan posisi kursor dan, oleh karena itu, asal-usul teks, gambar raster atau vektor, dan detailnya.
</td>
</tr>
<tr>
<td>
Perintah pemilihan font
</td>
<td>
+
</td>
<td>
<ol>
<li>Perintah Data Cetak Transparan.</li>
<li>Font lunak tertanam. Dalam versi saat ini, alih-alih membuat font lunak, perpustakaan kami memilih
font "keras" TrueType yang cocok dari font TrueType yang ada yang terinstal di mesin target. <br/>
Kesesuaian didefinisikan oleh rasio lebar/tinggi.<br/>
Fitur ini hanya berfungsi untuk font Bitmap dan TrueType dan tidak
menjamin bahwa teks yang dicetak dengan font lunak akan relevan dengan yang ada di file sumber.<br/>
Karena kode karakter dalam font lunak bisa tidak sesuai dengan yang default.
</li>
<li>Set Simbol yang Ditetapkan Pengguna.</li>
  • Set Simbol yang Ditentukan Pengguna.
  • Izinkan memuat font lunak (tertanam) dari file PCL dan mengelolanya di memori.
    Perintah grafik raster + Hanya hitam & putih Izinkan memuat gambar raster dari file PCL ke memori, tentukan parameter raster.
    seperti lebar, tinggi, tipe kompresi, resolusi, dll.
    Perintah warna +   Izinkan pewarnaan untuk semua objek yang dapat dicetak.
    Perintah Model Cetak ```

    Perintah Model Cetak +

                Mengizinkan pengisian teks, gambar raster, dan area persegi panjang dengan pola raster yang telah ditentukan dan pola yang ditentukan pengguna menentukan mode transparansi untuk pola dan gambar raster sumber. Pola yang telah ditentukan adalah garis berpetak, garis silang, dan pola bayangan.
    

    Perintah Pengisian Area Persegi Panjang +

                Mengizinkan pembuatan dan pengisian area persegi panjang dengan pola.
    

    Perintah Grafis Vektor HP-GL/2 + Perintah Vektor Berlayar (SV), Perintah Mode Transparansi (TR), Perintah Data Transparan (TD), RO Perintah Screened Vector (SV), Mode Transparansi (TR), Data Transparan (TD), RO (Rotasi Sistem Koordinat), Font Skalabel atau Bitmap (SB), Miring Karakter (SL) dan Ruang Ekstra (ES) tidak diimplementasikan dan perintah DV (Definisi Jalur Teks Variabel) direalisasikan dalam versi beta.

    Izinkan memuat gambar vektor HP-GL/2 dari file PCL ke dalam memori. Gambar vektor memiliki titik asal di sudut kiri bawah area yang dapat dicetak, dapat diskalakan, diterjemahkan, diputar, dan dipotong.
    Gambar vektor dapat berisi teks, sebagai label, dan figur geometris seperti persegi panjang, lingkaran, elips, garis, busur, kurva bezier dan figur kompleks yang terdiri dari yang sederhana.
    Figur tertutup termasuk huruf dari label dapat diisi dengan pengisian padat atau pola vektor.
    Pola dapat berupa garis silang, garis silang PCL, naungan, raster yang ditentukan pengguna, garis silang PCL atau garis silang PCL.

    hatching, cross-hatch, shading, raster user-defined, PCL hatching atau cross-hatch dan PCL user-defined. Pola PCL adalah raster. Label dapat diputar, diskalakan, dan diarahkan secara individu dalam empat arah: atas, bawah, kiri, dan kanan. Arah Kiri dan Kanan melibatkan penyusunan huruf satu demi satu. Arah Atas dan Bawah melibatkan penyusunan huruf satu di bawah yang lain.

    
    
    Macroses
    ―
    &nbsp;
    Memungkinkan memuat urutan perintah PCL ke dalam memori dan menggunakan urutan ini berkali-kali, misalnya,
    untuk mencetak header halaman atau mengatur satu format untuk sekumpulan halaman.
    

    Unicode text ―

    
    ### Mengonversi file PCL ke format PDF
    
    Untuk mengizinkan konversi dari PCL ke PDF, Aspose.PDF memiliki kelas [`PclLoadOptions`](https://reference.aspose.com/pdf/net/aspose.pdf/pclloadoptions) yang digunakan untuk menginisialisasi objek LoadOptions.
    

    Untuk mengizinkan konversi dari PCL ke PDF, Aspose.PDF memiliki kelas PclLoadOptions yang digunakan untuk menginisialisasi objek LoadOptions.

    Potongan kode berikut menunjukkan proses mengonversi file PCL menjadi format PDF.

    Langkah: Mengonversi PCL ke PDF dalam C#

    1. Buat sebuah instansi dari kelas PclLoadOptions.
    2. Buat sebuah instansi dari kelas Document dengan menyebutkan nama file sumber dan opsi.
    3. Simpan dokumen dengan nama file yang diinginkan.
    public static void ConvertPCLtoPDF()
    {
        PclLoadOptions options = new PclLoadOptions();
        Document pdfDocument= new Document(_dataDir + "demo.pcl", options);
        pdfDocument.Save(_dataDir + "pcl_test.pdf");
    }
    

    Anda juga dapat memantau deteksi kesalahan selama proses konversi. Anda juga dapat memantau deteksi kesalahan selama proses konversi.

    public static void ConvertPCLtoPDFAvdanced()
    {
        PclLoadOptions options = new PclLoadOptions { SupressErrors = true };
        Document pdfDocument= new Document(_dataDir + "demo.pcl", options);
        if (options.Exceptions!=null)
            foreach (var ex in options.Exceptions)
            {
                Console.WriteLine(ex.Message);
            }
        pdfDocument.Save(_dataDir + "pcl_test.pdf");
    }
    

    Masalah yang Diketahui

    1. Asal teks dan gambar dapat sedikit berbeda dari yang ada di file PCL sumber jika arah cetak bukan 0°. Hal yang sama berlaku untuk gambar vektor jika sistem koordinat plot vektor diputar (perintah RO mendahului).
    2. Asal label pada gambar vektor dapat berbeda dari yang ada di file PCL sumber jika label dipengaruhi oleh urutan perintah: Asal Label (LO), Tentukan Jalur Teks Variabel (DV), Arah Mutlak (DI) atau Arah Relatif (DR).
    3. Jika file PCL yang diparsing mengandung Intellifont atau Universal soft fonts, akan muncul pengecualian, karena Intellifont dan Universal font sama sekali tidak didukung.
    4. Jika file PCL yang diparsing mengandung perintah makro, hasil parsing akan sangat berbeda dari file sumber, karena perintah makro tidak didukung.

    Mengonversi Teks ke PDF

    Aspose.PDF for .NET mendukung fitur mengonversi file teks biasa dan teks yang telah diformat ke format PDF.

    Mengonversi teks ke PDF berarti menambahkan fragmen teks ke halaman PDF. Untuk file teks, kita berurusan dengan 2 jenis teks: pra-pemformatan (misalnya, 25 baris dengan 80 karakter per baris) dan teks tidak terformat (teks biasa). Tergantung pada kebutuhan kita, kita dapat mengontrol penambahan ini sendiri atau mempercayakannya pada algoritma perpustakaan.

    Mengonversi PostScript ke PDF

    Aspose.PDF for .NET mendukung fitur mengonversi file PostScript ke format PDF. Salah satu fitur dari Aspose.PDF adalah Anda dapat mengatur serangkaian folder font yang akan digunakan selama konversi.

    Untuk mengonversi file PostScript ke format PDF, Aspose.PDF for .NET menawarkan kelas PsLoadOptions yang digunakan untuk menginisialisasi objek LoadOptions. Nantinya objek ini dapat dioper sebagai argumen ke konstruktor objek Document, yang akan membantu PDF Rendering Engine untuk menentukan format dokumen sumber.

    Potongan kode berikut dapat digunakan untuk mengonversi file PostScript menjadi format PDF dengan Aspose.PDF for .NET:

    // Untuk contoh lengkap dan file data, silakan kunjungi https://github.com/aspose-pdf/Aspose.PDF-for-.NET
    // Jalur ke direktori dokumen.
    string _dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Buat instance baru dari PsLoadOptions
    PsLoadOptions options = new PsLoadOptions();
    // Buka dokumen .ps dengan opsi muat yang dibuat
    Document pdfDocument = new Document(_dataDir + "input.ps", options);
    // Simpan dokumen
    pdfDocument.Save(dataDir + "PSToPDF.pdf");
    

    Selain itu, Anda dapat mengatur serangkaian folder font yang akan digunakan selama konversi:

    public static void ConvertPostscriptToPDFAvdanced()
    {
        PsLoadOptions options = new PsLoadOptions
        {
            FontsFolders = new [] { @"c:\tmp\fonts1", @"c:\tmp\fonts2"}
        };
        Document pdfDocument = new Document(_dataDir + "input.ps", options);
        pdfDocument.Save(_dataDir + "ps_test.pdf");
    }
    

    Konversi XML ke PDF

    Format XML digunakan untuk menyimpan data terstruktur. Ada beberapa cara untuk mengonversi XML ke PDF di Aspose.PDF:

    1. Transformasikan data XML ke HTML menggunakan XSLT dan konversikan HTML ke PDF seperti dijelaskan di bawah ini
    2. Hasilkan dokumen XML menggunakan Skema XSD Aspose.PDF
    3. Gunakan dokumen XML berdasarkan standar XSL-FO

    Konversi XSL-FO ke PDF

    Konversi file XSL-FO ke PDF dapat diimplementasikan menggunakan teknik Aspose.PDF tradisional - menginstansiasi objek Document dengan XslFoLoadOptions. Namun terkadang Anda mungkin menemukan struktur file yang tidak benar. Untuk kasus ini, konverter XSL-FO memungkinkan pengaturan strategi penanganan kesalahan. Anda dapat memilih ThrowExceptionImmediately, TryIgnore atau InvokeCustomHandler.

    public static void Convert_XSLFO_to_PDF()
    {
        // Instansiasi objek XslFoLoadOption
        var options = new XslFoLoadOptions(".\\samples\\employees.xslt");
        // Atur strategi penanganan kesalahan
        options.ParsingErrorsHandlingType = XslFoLoadOptions.ParsingErrorsHandlingTypes.ThrowExceptionImmediately;
        // Buat objek Document
        var pdfDocument = new Aspose.Pdf.Document(".\\samples\\employees.xml", options);
        pdfDocument.Save(_dataDir + "data_xml.pdf");
    }
    

    Mengonversi LaTeX/TeX ke PDF

    Format file LaTeX adalah format file teks dengan markup dalam turunan LaTeX dari keluarga bahasa TeX dan LaTeX merupakan format turunan dari sistem TeX. LaTeX (ˈleɪtɛk/lay-tek atau lah-tek) adalah sistem persiapan dokumen dan bahasa markup dokumen. Ini banyak digunakan untuk komunikasi dan publikasi dokumen ilmiah di banyak bidang, termasuk matematika, fisika, dan ilmu komputer. Ini juga memiliki peran penting dalam persiapan dan publikasi buku dan artikel yang mengandung materi multibahasa yang kompleks, seperti Sanskerta dan Arab, termasuk edisi kritis. LaTeX menggunakan program penataan teks TeX untuk memformat outputnya, dan ditulis dalam bahasa makro TeX.

    Aspose.PDF Konversi LaTeX/TeX ke PDF dengan Aplikasi Gratis Aspose.PDF untuk .NET mendukung fitur untuk mengonversi file TeX ke format PDF dan untuk mencapai kebutuhan ini, ruang nama Aspose.Pdf memiliki kelas bernama LatexLoadOptions yang menyediakan kemampuan untuk memuat file LaTex dan merender output dalam format PDF menggunakan Kelas Dokumen. Potongan kode berikut menunjukkan proses mengonversi file LaTex ke format PDF dengan C#.

    public static void ConvertTeXtoPDF()
    {
        // Instansiasi objek opsi muat Latex
        TeXLoadOptions options = new TeXLoadOptions();
        // Buat objek Dokumen
        Aspose.Pdf.Document pdfDocument= new Aspose.Pdf.Document(_dataDir + "samplefile.tex", options);
        // Simpan output dalam file PDF
        pdfDocument.Save(_dataDir + "TeXToPDF_out.pdf");
    }