تقنية

كيفية تقسيم ملف PDF إلى مستندات PDF منفصلة


يصف هذا البرنامج التعليمي كيفية استخراج الصفحات من مستند PDF من سطر الأوامر. هناك أدوات متاحة عبر الإنترنت لتقسيم ملفات PDF، ولكن إذا كنت تفضل عدم مشاركة ملفات PDF الخاصة بك مع طرف ثالث، فيمكنك تقسيمها إلى صفحات منفصلة بسهولة من سطر الأوامر.

تقسيم ملفات PDF

على افتراض أن لديك node المثبتة على جهاز الكمبيوتر الخاص بك، قم بتشغيل الأمر التالي في الوحدة الطرفية لتهيئة البيئة:

$ mkdir pdf-split
$ cd pdf-split
$ npm init -y

بعد ذلك، سنقوم بتثبيت الشعبية pdf-lib الحزمة من سجل npm. مكتبة PDF مكتوبة بلغة TypeScript وهي أداة مفيدة لإنشاء ملفات PDF ومعالجتها. يمكنك معرفة المزيد حول مكتبة PDF على js.org.

بالإضافة إلى تقسيم ملفات PDF، يمكن أيضًا استخدام مكتبة PDF لدمج ملفات PDF متعددة في ملف PDF واحد. أو لإعادة ترتيب صفحات ملف PDF.

$ npm install --save pdf-lib

بعد ذلك، سنكتب نصًا بسيطًا لـ Node.js يقوم بتقسيم ملف PDF إلى ملفات PDF متعددة. تحتاج إلى توفير مسار ملف PDF المدخل ومجلد الإخراج.

// split.pdf.js
const fs = require('fs');
const path = require('path');
const { PDFDocument } = require('pdf-lib');

const splitPDF = async (pdfFilePath, outputDirectory) => {
  const data = await fs.promises.readFile(pdfFilePath);
  const readPdf = await PDFDocument.load(data);
  const { length } = readPdf.getPages();

  for (let i = 0, n = length; i < n; i += 1) {
    const writePdf = await PDFDocument.create();
    const [page] = await writePdf.copyPages(readPdf, [i]);
    writePdf.addPage(page);
    const bytes = await writePdf.save();
    const outputPath = path.join(outputDirectory, `Invoice_Page_${i + 1}.pdf`);
    await fs.promises.writeFile(outputPath, bytes);
    console.log(`Added ${outputPath}`);
  }
};

splitPDF('input/invoices.pdf', 'invoices').then(() =>
  console.log('All invoices have been split!').catch(console.error)
);

في المثال أعلاه، لدينا ملف PDF كبير يحتوي على فواتير متعددة تم إنشاؤها من نظام المحاسبة Tally. نريد تقسيم ملف PDF إلى ملفات PDF متعددة بحيث تكون كل فاتورة عبارة عن ملف PDF منفصل.

يمكنك تشغيل البرنامج النصي أعلاه في المحطة لتقسيم ملف PDF.

$ node split.pdf.js

ضغط ملفات PDF الكبيرة

الجانب السلبي الوحيد لهذا الأسلوب هو أن ملفات PDF التي تم إنشاؤها كبيرة الحجم. ومع ذلك، يمكنك استخدام ghostscript أداة سطر الأوامر لضغط حجم ملفات PDF المقسمة بشكل كبير.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -r200 -dPDFSETTINGS=/screen -dEmbedAllFonts=true -dSubsetFonts=true -dPrinted=false -dNOPAUSE -dQUIET -dBATCH -sOutputFile=c12_{filename} {filename}

انظر أيضًا: أوامر FFMPEG المفيدة



Source link


اكتشاف المزيد من مرابع التكنولوجيا

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى

اكتشاف المزيد من مرابع التكنولوجيا

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading