... Atau saat kami menulis aplikasi pilot untuk OS Sailfish menggunakan poppler.
Tahun itu dimulai dengan tugas yang menghibur - dalam waktu singkat tim kami perlu mengumpulkan pilot aplikasi Mobile Manager Workplace di OS Sailfish. Intinya, ini adalah klien seluler EDMS, mis. Ini dirancang untuk bekerja dengan dokumen. Dan tentu saja, pdf-reader diperlukan untuk bekerja dengan dokumen. Tapi ternyata membuatnya lancar tidak mudah. Tapi kita dapat mengatakan kita berhasil (untuk prototipe, tentu saja). Bagaimana? Baca di bawah potongan.
Dari yang baik, saya dapat mengatakan bahwa pdf-reader yang dibangun di dalam sistem operasi itu bagus, Anda tidak perlu merakitnya secara terpisah. Dan "Aurora" (sepertinya ini adalah nama "Rusia" di masa depan untuk "Sailfish Mobile OS Rus" yang tidak dapat dilawan) dapat membanggakan hal ini, yang karenanya banyak terima kasih. Tapi tetap saja, menulis solusi cepat tidak sesederhana itu.
Poppler adalah
perpustakaan rendering pdf yang dibangun di Sailfish, itulah sebabnya dipilih untuk tujuan gelap kita. Tetapi hanya untuk menulis prototipe, karena lisensi GPL tidak akan memungkinkan di masa depan untuk merilis produk komersial di atasnya. Dan, setelah menyentuhnya sedikit, saya sampai pada kesimpulan bahwa mungkin ada solusi yang lebih nyaman, tetapi lebih pada itu nanti.
Saya ingin memberi tahu terutama tentang dua masalah utama yang saya temui, mencoba memeras setidaknya sesuatu dari poppler dalam waktu singkat. Saya sarankan menonton video yang menunjukkan operasi aplikasi, yang ternyata sebelum membaca omelan saya.
Masalah nomor satu
Lihat korsel yang cantik? Ini adalah cara menampilkan dokumen dalam folder - intuitif dan sederhana bagi pengguna, memungkinkan Anda untuk dengan cepat melihat dokumen, detailnya, sebelum melanjutkan langsung membaca dokumen dan menyetujui. Hal ini diperlukan agar para menteri penting, menandatangani dokumen mereka yang sangat penting, dapat menyenangkan mata mereka dengan PathView.
PathView - alat yang luar biasa, Anda dapat melakukan banyak sekali keindahan. Tapi masalah kita adalah delegasinya.
Untuk menggambar halaman pertama dokumen (pratinjau dokumen di layar utama) online menggunakan poppler adalah ide begitu-begitu, karena folder tidak di-cache, dan transisi di antara mereka mulai menggantung sangat, poppler menarik perlahan. Lebih tepatnya, menjadikan, tentu saja, menarik QPainter.
Masalahnya dipecahkan secara sederhana, tetapi tidak sepenuhnya elegan: kami membuat pratinjau saat aplikasi diluncurkan, menyimpan gambar ke perangkat dan, sebagai hasilnya, menggambar melalui QImage di delegasi. Dan, terus terang, saya belum menemukan cara untuk menulis ulang ini dengan cara yang lebih elegan.
Masalah nomor dua
Jika Anda mencoba untuk menggambar dokumen besar sekaligus (halaman yang menampilkan konten dokumen), itu tidak hanya melakukan ini untuk waktu yang sangat lama, tetapi juga mengotori gambar. Saya pikir saya mengacaukan dimensi dokumen yang dirender menjadi gambar kecil, dan kemudian membentang ke ukuran tertentu, tetapi tidak, saya memeriksa semuanya 100 kali. Saya mencoba membuat gambar yang lebih besar - semuanya sama. Dan itu tidak ternoda dengan kehilangan kualitas, tetapi lebih seperti, seolah-olah mereka telah melewati tangan melalui tinta baru.
Ini, tentu saja, dapat diselesaikan dalam satu gerakan, Anda tidak perlu menggambar seluruh dokumen, tetapi hanya halaman saat ini dan yang tetangga, tetapi belum punya waktu untuk melakukan ini.
Ringkasan
Poppler lambat dan aneh, tetapi terima kasih telah memilikinya. Sekarang kami ingin menerapkan anotasi pdf grafis dan tekstual dalam pilot, jadi saya akan menulis ulang semua ini
ke perpustakaan lain , ini adalah sesuatu yang sangat kuat pada pandangan pertama, saya berharap bahwa fungsi yang dinyatakan sesuai dengan kenyataan.
Jika ada yang mencoba atau mengetahui solusi yang lebih cocok, saya akan sangat berterima kasih atas sarannya.