Penambal PDF
Terima kasih atas perhatian Anda pada PDF Patch. Harap baca deskripsi ini dan perjanjian lisensi sebelum menggunakan perangkat lunak atau kode sumber. Perangkat lunak dan kode sumber ini mengadopsi perjanjian AGPL + " Lisensi Hati Nurani " - setiap kali pengguna mendapat manfaat dari penggunaan perangkat lunak ini, ia harus melakukan perbuatan baik; jika ia menggunakan kode sumber untuk mengembangkan perangkat lunak baru dan memperoleh keuntungan, ia harus menggunakan hasil sebagai nirlaba. Menyumbangkan kurang dari seperseribu kepada kelompok yang kurang beruntung di masyarakat .
Pengenalan fungsi
PDF Patch adalah alat pemrosesan PDF. Ini memiliki beberapa fitur berikut:
- Memodifikasi dokumen PDF: mengubah properti dokumen, nomor halaman, dan tautan halaman; menyatukan ukuran halaman; menghapus tindakan seperti membuka halaman web secara otomatis; mengatur mode awal pembaca untuk menyembunyikan data sampah; gambar putih; memutar halaman.
- Editor penanda PDF yang intim: Memiliki antarmuka membaca (dengan metode membaca kanan ke kiri yang nyaman untuk membaca dokumen vertikal), dan dapat mengubah properti penanda PDF (warna, gaya, nomor halaman target, rasio zoom, dll.) dalam batch, dan bookmark dapat diposisikan secara akurat ke Di tengah halaman; melakukan pencarian dan penggantian di bookmark (mendukung ekspresi reguler dan pencocokan XPath, dapat dengan cepat memilih bookmark bab, bab, dan bagian), dan secara otomatis dan cepat menghasilkan bookmark dokumen .
- Buat file PDF: gabungkan file PDF atau gambar yang ada untuk menghasilkan file PDF baru; dokumen PDF yang digabungkan memiliki penanda dari dokumen asli, dan penanda baru juga dapat dilampirkan (atau dibuat berdasarkan nama file). penanda baru dapat disesuaikan; dokumen PDF yang digabungkan dapat diberi ukuran halaman yang seragam untuk dicetak dan dibaca.
- Pisahkan atau gabungkan file PDF dan simpan file asli atau tambahkan yang baru.
- Ekspor gambar dokumen PDF dengan kecepatan tinggi dan tanpa kehilangan.
- Konversi halaman PDF menjadi gambar.
- Ekstrak atau hapus halaman tertentu dari dokumen PDF, dan sesuaikan urutan halaman dokumen PDF.
- Ganti nama file PDF berdasarkan metadata dokumen PDF.
- Panggil mesin pengenalan gambar Microsoft Office untuk menganalisis teks dalam gambar dokumen PDF; mengubah halaman daftar isi gambar PDF menjadi penanda PDF. Hasil pengenalan dapat ditulis ke file PDF.
- Ganti font: Ganti font yang digunakan dalam dokumen; sematkan font ke dalam dokumen PDF untuk menghilangkan karakter yang kacau saat menyalin teks, sehingga dapat dibaca di perangkat tanpa font (seperti pembaca e-book seperti Kindle).
- Analisis struktur dokumen: Menampilkan struktur dokumen PDF dalam tampilan pohon, mengedit dan memodifikasi node dokumen PDF, atau mengekspor dokumen PDF ke dalam file XML untuk dianalisis dan di-debug oleh para penggemar PDF.
- Gratis selamanya, tidak pernah kedaluwarsa, tidak ada iklan, tidak ada kotak dialog pop-up yang tidak masuk akal, tidak ada pengganggu privasi.
Perjanjian Lisensi
Perangkat lunak "PDF Patch" (selanjutnya disebut perangkat lunak) dilindungi oleh undang-undang hak cipta, ketentuan perjanjian internasional, dan undang-undang serta perjanjian kekayaan intelektual lainnya. Perangkat lunak ini gratis untuk pengguna akhir. Karena perangkat lunak ini menggunakan komponen sumber terbuka pihak ketiga dengan persyaratan AGPL, perjanjian penggunaan perangkat lunak ini dan kode sumbernya juga didasarkan pada AGPL. Ada juga ketentuan tambahan berikut ini. Berdasarkan premis mematuhi perangkat lunak ini, Anda dapat dengan bebas menggunakan dan mendistribusikannya berdasarkan kepatuhan terhadap perjanjian ini. Setelah Anda menginstal, menyalin, atau menggunakan perangkat lunak ini, itu berarti Anda telah menyetujui ketentuan perjanjian ini. Jika Anda tidak menyetujui perjanjian ini, mohon jangan menginstal atau menggunakan perangkat lunak ini, dan Anda juga tidak boleh menggunakan kode sumbernya.
Ketentuan tambahan: Setiap pengguna yang menggunakan perangkat lunak ini, jika perangkat lunak ini membantu Anda, hendaknya Anda melakukan satu perbuatan baik setelah setiap penggunaan perangkat lunak ini. Sebesar atau kecilnya suatu amal, lakukan saja jika kamu tega melakukannya. Misalnya:
- Jika orang tua Anda ada, Anda dapat memasak makanan lezat untuk mereka, atau memijat mereka atau mencuci kaki mereka; jika mereka jauh, Anda dapat menelepon mereka dan menanyakan kesehatan dan kehidupan mereka.
- Saat hujan deras, jika Anda mempunyai payung, Anda bisa membaginya dengan orang lain di jalan; saat matahari bersinar terik, jika Anda melihat petugas sanitasi bekerja di bawah terik matahari, Anda bisa membelikannya sebotol air dan memberikannya kepada mereka. mereka; Di angkutan umum atau saat mengantri di tempat umum, jika Anda mempunyai tempat duduk, Anda dapat menawarkannya kepada orang tua, wanita hamil, atau orang yang membawa benda berat.
- Anda dapat menggunakan keahlian Anda untuk membantu orang-orang di sekitar Anda memecahkan masalah mereka; Anda dapat berbagi pengetahuan Anda dengan orang lain sehingga mereka dapat memperoleh manfaat; Anda dapat menyumbangkan uang dan hadiah kepada orang-orang yang lebih kesulitan daripada Anda.
- Jika menurut Anda perangkat lunak ini benar-benar bermanfaat, silakan perkenalkan penggunaannya kepada orang lain agar orang lain dapat memperoleh manfaat dari penggunaan perangkat lunak ini atau perkenalkan perangkat lunak lain yang menurut Anda bermanfaat bagi orang lain;
Jika Anda tidak dapat melakukan satu perbuatan baik pun setelah menggunakan perangkat lunak ini, harap diingat. Ketika Anda mempunyai kesempatan, lakukan lebih banyak perbuatan baik dan kumpulkan kebajikan. Apakah Anda mematuhi Perjanjian Pengguna ini atau tidak sepenuhnya bergantung pada hati nurani Anda. Ini untuk “ penguasaan hati nurani .”
Definisi terkait:
- Perangkat Lunak: Perangkat Lunak mengacu pada perangkat lunak "PDF Patch" dan pembaruannya, manual produk, dokumen online, dan operator terkait lainnya.
- Batasan: Anda dapat menggunakan kode sumber perangkat lunak ini untuk mengembangkan aplikasi (gratis, bersama, atau komersial), dan Anda juga dapat mendistribusikan salinan lengkap perangkat lunak ini dalam jumlah tidak terbatas dengan cara apa pun, tetapi premisnya adalah: ① Anda harus memberikan perangkat lunak saat Anda mendistribusikan perangkat lunak Versi lengkap, modifikasi perangkat lunak atau program instalasinya tidak diperbolehkan tanpa izin; ② Anda tidak dapat mengubah perjanjian lisensi ini saat mendistribusikan perangkat lunak ③ Jika Anda menambahkan perangkat lunak ini ke aktivitas promosi komersial atau produk, Anda harus melakukannya mendapatkan persetujuan tertulis dari pemilik hak cipta Jika Anda menggunakan kode sumber perangkat lunak ini untuk menulis perangkat lunak lain dan menghasilkan pendapatan penjualan, Anda harus menyumbangkan tidak kurang dari seperseribu pendapatan penjualan perangkat lunak tersebut kepada kelompok masyarakat yang kurang beruntung.
- Dukungan: Perangkat lunak akan terus diperbarui sesuai kebutuhan pengguna, dan pemegang hak cipta akan memberikan berbagai dukungan informasi terkait termasuk panduan pengguna, email, dll., namun perangkat lunak tidak menjamin bahwa konten dan fungsi yang didukung tidak akan berubah.
- Pengakhiran: Bila Anda tidak menyetujui atau melanggar perjanjian ini, perjanjian akan diakhiri secara otomatis dan Anda harus segera menghapus produk perangkat lunak ini.
- Hak Cipta: Perangkat lunak dan kode sumber ini dilindungi oleh undang-undang hak cipta, ketentuan perjanjian internasional, serta undang-undang dan perjanjian kekayaan intelektual lainnya.
- Penafian: Perangkat lunak ini dan pemilik hak cipta tidak bertanggung jawab atas segala kerugian yang disebabkan oleh instalasi, penyalinan, dan penggunaan perangkat lunak ini.
Pengenalan komponen sumber terbuka PDF yang umum digunakan
Spesifikasi untuk dokumen PDF (ISO 32000-1:2008 "Manajemen dokumen — Format dokumen portabel — Bagian 1: PDF 1.7") dapat ditemukan online dan umumnya wajib dibaca oleh pengembang program pemrosesan PDF.
Format dokumen PDF melibatkan sejumlah teknologi di bidang pencetakan, memiliki struktur dokumen uniknya sendiri, dan menggunakan berbagai algoritma kompresi data. Biasanya sulit dan tidak realistis bagi orang awam untuk menulis program pengolah dokumen PDF dari awal. PDF Patch dikembangkan menggunakan .NET Framework dan terutama menggunakan iText dan MuPDF, dua pustaka komponen sumber terbuka, untuk memproses dokumen PDF.
Yang pertama adalah komponen .NET yang memiliki interoperabilitas yang baik dengan program utama PDF, dan lebih unggul dari yang terakhir dalam hal penguraian, pembuatan dan modifikasi dokumen PDF, dan penyematan subset font TTF.
Yang terakhir ini dikembangkan dan dikompilasi dalam bahasa C. Dibandingkan dengan yang pertama, keuntungan terbesarnya adalah fungsi merender dokumen PDF menjadi bitmap. Pustaka komponen dinamis yang dikompilasi oleh MuPDF dapat diunduh dari SharpMuPDF, pustaka kode sumber terbuka lain milik penulis. PDF Patch memanggil fungsi pustaka komponen ini melalui teknologi P/Invoke.
Selain komponen open source PDF, program ini juga menggunakan komponen open source unggulan lainnya. Misalnya, ObjectListView adalah kontrol daftar yang kuat, FreeImage digunakan untuk membaca dan memecahkan kode berbagai jenis file gambar bitmap, ImageBox Cyotek digunakan untuk menampilkan halaman dokumen PDF yang dirender, TabControlExtra digunakan untuk membangun antarmuka dokumen bertab, dan HTMLRenderer digunakan untuk menampilkan antarmuka web HTML dan banyak lagi.
Struktur kode sumber
- Katalog Aplikasi: Program Utama Patch PDF
- Umum: beberapa kelas alat yang umum digunakan
- Fungsi: Bentuk dan kontrol yang digunakan untuk menyajikan berbagai fungsi perangkat lunak
- Lib: komponen pihak ketiga yang digunakan oleh program
- Model: model tingkat tinggi yang digunakan saat mengedit dokumen (model data dasar diimplementasikan oleh kelas iText dan MuPDF)
- Pilihan: pilihan program
- Prosesor: Algoritma untuk memproses dokumen PDF (kelas P/Invoke yang memanggil MuPDF ditempatkan di direktori Mupdf)
- direktori doc: Tempatkan dokumentasi penggunaan program
- Direktori JBig2: Menempatkan kode perpustakaan pengkodean dan decoding untuk gambar JBIG2
Lingkungan pengoperasian
- Sistem operasi Windows 7 atau lebih tinggi.
- .NET Framework versi 4.0 hingga 4.8.
- Untuk menggunakan fungsi pengenalan teks, Anda perlu menginstal komponen Document Imaging (MODI) dari Microsoft Office 2003 (atau 2007).
- Untuk mengkompilasi kode sumber program, disarankan untuk menggunakan Visual Studio 2019 atau yang lebih baru, dan menginstal dua beban kerja ".NET Desktop Development" (digunakan untuk mengkompilasi kode sumber patch PDF) dan "C++ Desktop Development" (digunakan untuk mengkompilasi kode JBIG2 komponen). Jika Anda menggunakan Visual Studio 2022, Anda mungkin mengalami masalah bahwa proyek "menargetkan .NET Framework yang tidak lagi didukung" dan perlu "memperbarui target ke .NET Framework 4.8". Cara sederhananya adalah dengan memperbarui target ke .NET Framework 4.8. Jika Anda tidak ingin memperbarui target, silakan merujuk ke metode yang diperkenalkan dalam artikel ini.
Hubungi penulisnya
Kecuali komponen pihak ketiga, kode sumber perangkat lunak ini sepenuhnya terbuka:
https://github.com/wmjordan/PDFPatcher
https://gitee.com/wmjordan/pdfpatcher
Disarankan untuk menyampaikan saran atau kebutuhan Anda dengan menyampaikan masalah melalui situs open source. Karena kesibukan pekerjaan sehari-hari, kami tidak menyediakan layanan konsultasi QQ atau WeChat untuk saat ini. Harap dipahami.
Di email atau pesan, harap tunjukkan nomor versi Anda, lampirkan tangkapan layar dan lampiran, dan jelaskan masalah yang Anda temui.
Jika Anda perlu memberikan lampiran, harap perkecil. Dalam keadaan normal, yang terbaik adalah tidak mengirim lampiran yang lebih besar dari 10 juta.
- Untuk file PDF, fungsi "Ekstrak Halaman" dapat digunakan untuk mengekstrak halaman representatif.
- Untuk file gambar, harap kompres file sumbernya, atau berikan gambar yang mewakili satu atau dua halaman.