Cara Membina Pengimbas Dokumen PWA: Tangkap, Edit dan Muat Naik sebagai PDF

Susan Sarandon
Lepaskan: 2024-10-25 06:34:02
asal
574 orang telah melayarinya

Dalam banyak industri, apl pengimbas dokumen adalah penting untuk menangkap, mengedit dan memuat naik dokumen seperti invois dan resit ke awan. Dengan memanfaatkan Dynamsoft Document Viewer SDK, anda boleh membina Progressive Web App (PWA) pengimbas dokumen yang membolehkan pengguna menangkap imej, memangkasnya, menggabungkan berbilang halaman menjadi satu dokumen, dan tukar dokumen yang diimbas kepada format PDF untuk perkongsian dan penyimpanan yang mudah. Tutorial ini akan membimbing anda melalui proses mencipta pengimbas dokumen PWA menggunakan Dynamsoft Document Viewer SDK.

Video Demo Pengimbas Dokumen PWA

Prasyarat

  • Dynamsoft Document Viewer: Pakej ini menyediakan API JavaScript untuk melihat dan menganotasi pelbagai format dokumen, termasuk PDF dan imej seperti JPEG, PNG, TIFF dan BMP. Ciri utama termasuk pemaparan PDF, navigasi halaman, peningkatan kualiti imej dan keupayaan menyimpan dokumen. Anda boleh mencari SDK pada npm.

  • Lesen Percubaan Dynamsoft Capture Vision: Lesen percubaan percuma 30 hari yang menyediakan akses kepada semua ciri SDK Dynamsoft.

Mencipta Pelayan Web untuk Memuat Naik Fail PDF

Mari kita cipta pelayan Node.js/Express untuk menerima rentetan Base64 dan menyimpannya sebagai fail PDF ke cakera setempat.

Pasang Ketergantungan

  1. Buat folder untuk pelayan anda:

    mkdir server
    cd server
    
    Salin selepas log masuk
    Salin selepas log masuk
  2. Memulakan projek Node.js:

    npm init -y
    
    Salin selepas log masuk
    Salin selepas log masuk
  3. Pasang Express dan kors:

    npm install express cors
    
    Salin selepas log masuk
    Salin selepas log masuk

    Penjelasan

    • Express memudahkan penciptaan pelayan web.
    • CORS (Perkongsian Sumber Silang Asal) ialah perisian tengah yang membenarkan permintaan silang asal.

Cipta Kod Pelayan (index.js)

  1. Buat fail index.js dengan kod berikut:

    const express = require('express');
    const cors = require('cors');
    const fs = require('fs');
    const path = require('path');
    
    const app = express();
    const PORT = 3000;
    
    app.use(cors());
    app.use(express.json({ limit: '10mb' }));
    
    app.post('/upload', (req, res) => {
        const { image } = req.body;
    
        if (!image) {
            return res.status(400).json({ error: 'No image provided.' });
        }
    
        const buffer = Buffer.from(image, 'base64');
    
        // Save the image to disk
        const filename = `image_${Date.now()}.pdf`;
        const filepath = path.join(__dirname, 'uploads', filename);
    
        // Ensure the uploads directory exists
        if (!fs.existsSync('uploads')) {
            fs.mkdirSync('uploads');
        }
    
        fs.writeFile(filepath, buffer, (err) => {
            if (err) {
                console.error('Failed to save image:', err);
                return res.status(500).json({ error: 'Failed to save image.' });
            }
    
            console.log('Image saved:', filename);
            res.json({ message: 'Image uploaded successfully!', filename });
        });
    });
    
    // Start the server
    app.listen(PORT, () => {
        console.log(`Server is running on http://localhost:${PORT}`);
    });
    
    Salin selepas log masuk
    Salin selepas log masuk
  2. Jalankan pelayan web:

    node index.js
    
    Salin selepas log masuk
    Salin selepas log masuk

Melaksanakan Pengimbas Dokumen PWA dengan Dynamsoft Document Viewer

Untuk bermula dengan Dynamsoft Document Viewer, muat turun kod sampel rasmi daripada repositori GitHub: https://github.com/Dynamsoft/mobile-web-capture/tree/master/samples/complete-document-capturing- aliran kerja. Sampel ini menunjukkan cara untuk menangkap, memangkas dan menggabungkan berbilang imej ke dalam satu dokumen menggunakan Dynamsoft Document Viewer SDK.

Berdasarkan projek, kami akan menambah ciri berikut:

  • Sokongan untuk PWA.
  • Muat naik dokumen yang diimbas sebagai fail PDF ke pelayan.

Membuat Projek Web PWA-Serasi

  1. Buat folder untuk projek PWA anda:

    mkdir server
    cd server
    
    Salin selepas log masuk
    Salin selepas log masuk
  2. Salin kod sampel ke dalam folder pelanggan.

  3. Buat fail manifest.json dalam direktori akar projek anda dengan kandungan berikut:

    npm init -y
    
    Salin selepas log masuk
    Salin selepas log masuk
  4. Buat fail sw.js dalam direktori akar projek anda dengan kandungan berikut:

    npm install express cors
    
    Salin selepas log masuk
    Salin selepas log masuk
  5. Daftarkan pekerja perkhidmatan dalam fail index.html:

    const express = require('express');
    const cors = require('cors');
    const fs = require('fs');
    const path = require('path');
    
    const app = express();
    const PORT = 3000;
    
    app.use(cors());
    app.use(express.json({ limit: '10mb' }));
    
    app.post('/upload', (req, res) => {
        const { image } = req.body;
    
        if (!image) {
            return res.status(400).json({ error: 'No image provided.' });
        }
    
        const buffer = Buffer.from(image, 'base64');
    
        // Save the image to disk
        const filename = `image_${Date.now()}.pdf`;
        const filepath = path.join(__dirname, 'uploads', filename);
    
        // Ensure the uploads directory exists
        if (!fs.existsSync('uploads')) {
            fs.mkdirSync('uploads');
        }
    
        fs.writeFile(filepath, buffer, (err) => {
            if (err) {
                console.error('Failed to save image:', err);
                return res.status(500).json({ error: 'Failed to save image.' });
            }
    
            console.log('Image saved:', filename);
            res.json({ message: 'Image uploaded successfully!', filename });
        });
    });
    
    // Start the server
    app.listen(PORT, () => {
        console.log(`Server is running on http://localhost:${PORT}`);
    });
    
    Salin selepas log masuk
    Salin selepas log masuk

Memuat naik Dokumen Diimbas sebagai Fail PDF

  1. Dalam uiConfig.js, tambahkan butang muat turun tersuai dengan acara klik bernama save:

    node index.js
    
    Salin selepas log masuk
    Salin selepas log masuk
  2. Dalam index.html, laksanakan acara simpan. Selepas menyimpan dokumen sebagai PDF, tukar gumpalan kepada rentetan Base64 dan muat naiknya ke pelayan:

    mkdir client
    cd client
    
    Salin selepas log masuk

Menjalankan Pengimbas Dokumen PWA

  1. Mulakan pelayan web dalam direktori akar projek anda:

    {
        "short_name": "MyPWA",
        "name": "My Progressive Web App",
        "icons": [
            {
                "src": "icon.png",
                "sizes": "192x192",
                "type": "image/png"
            }
        ],
        "start_url": "/",
        "display": "standalone",
        "background_color": "#ffffff",
        "theme_color": "#000000"
    }
    
    Salin selepas log masuk
  2. Lawati http://localhost:8000 dalam penyemak imbas web anda.

    How to Build a PWA Document Scanner: Capture, Edit and Upload as PDF

Kod Sumber

https://github.com/yushulx/web-twain-document-scan-management/tree/main/examples/pwa

Atas ialah kandungan terperinci Cara Membina Pengimbas Dokumen PWA: Tangkap, Edit dan Muat Naik sebagai PDF. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!