skill
ملف PDF
استخدم هذه المهارة كلما أراد المستخدم القيام بأي شيء يتعلق بملفات PDF. يشمل ذلك قراءة أو استخراج النصوص/الجداول من ملفات PDF، دمج ملفات PDF متعددة في ملف واحد، تقسيم ملفات PDF، تدوير الصفحات، إضافة علامات مائية، إنشاء ملفات PDF جديدة، تعبئة نماذج PDF، تشفير/فك تشفير ملفات PDF، استخراج الصور، وإجراء OCR على ملفات PDF الممسوحة ضوئيا لجعلها قابلة للبحث. إذا ذكر المستخدم ملف .pdf أو طلب إنتاج واحد، فاستخدم هذه المهارة.
نبذة
# دليل معالجة ملفات PDF
## نظرة عامة
يغطي هذا الدليل عمليات معالجة ملفات PDF الأساسية باستخدام مكتبات Python وأدوات سطر الأوامر. للحصول على الميزات المتقدمة ومكتبات JavaScript والأمثلة التفصيلية، راجع REFERENCE.md. إذا كنت بحاجة إلى ملء نموذج PDF، فاقرأ FORMS.md واتبع تعليماته.
## البدء السريع
```python from pypdf import PdfReader, PdfWriter
# Read a PDF reader = PdfReader("document.pdf") print(f"Pages: {len(reader.pages)}")
# Extract text text = "" for page in reader.pages: text += page.extract_text() ```
## مكتبات Python
### pypdf - العمليات الأساسية
#### دمج ملفات PDF ```python from pypdf import PdfWriter, PdfReader
writer = PdfWriter() for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]: reader = PdfReader(pdf_file) for page in reader.pages: writer.add_page(page)
with open("merged.pdf", "wb") as output: writer.write(output) ```
#### تقسيم ملف PDF ```python reader = PdfReader("input.pdf") for i, page in enumerate(reader.pages): writer = PdfWriter() writer.add_page(page) with open(f"page_{i+1}.pdf", "wb") as output: writer.write(output) ```
#### استخراج البيانات الوصفية (Metadata) ```python reader = PdfReader("document.pdf") meta = reader.metadata print(f"Title: {meta.title}") print(f"Author: {meta.author}") print(f"Subject: {meta.subject}") print(f"Creator: {meta.creator}") ```
#### تدوير الصفحات ```python reader = PdfReader("input.pdf") writer = PdfWriter()
page = reader.pages[0] page.rotate(90) # Rotate 90 degrees clockwise writer.add_page(page)
with open("rotated.pdf", "wb") as output: writer.write(output) ```
### pdfplumber - استخراج النصوص والجداول
#### استخراج النص مع التخطيط ```python import pdfplumber
with pdfplumber.open("document.pdf") as pdf: for page in pdf.pages: text = page.extract_text() print(text) ```
#### استخراج الجداول ```python with pdfplumber.open("document.pdf") as pdf: for i, page in enumerate(pdf.pages): tables = page.extract_tables() for j, table in enumerate(tables): print(f"Table {j+1} on page {i+1}:") for row in table: print(row) ```
#### استخراج الجداول المتقدم ```python import pandas as pd
with pdfplumber.open("document.pdf") as pdf: all_tables = [] for page in pdf.pages: tables = page.extract_tables() for table in tables: if table: # Check if table is not empty df = pd.DataFrame(table[1:], columns=table[0]) all_tables.append(df)
# Combine all tables if all_tables: combined_df = pd.concat(all_tables, ignore_index=True) combined_df.to_excel("extracted_tables.xlsx", index=False) ```
### reportlab - إنشاء ملفات PDF
#### إنشاء ملف PDF أساسي ```python from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvas
c = canvas.Canvas("hello.pdf", pagesize=letter) width, height = letter
# Add text c.drawString(100, height - 100, "Hello World!") c.drawString(100, height - 120, "This is a PDF created with reportlab")
# Add a line c.line(100, height - 140, 400, height - 140)
# Save c.save() ```
#### إنشاء ملف PDF بصفحات متعددة ```python from reportlab.lib.pagesizes import letter from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak from reportlab.lib.styles import getSampleStyleSheet
doc = SimpleDocTemplate("report.pdf", pagesize=letter) styles = getSampleStyleSheet() story = []
# Add content title = Paragraph("Report Title", styles['Title']) story.append(title) story.append(Spacer(1, 12))
body = Paragraph("This is the body of the report. " * 20, styles['Normal']) story.append(body) story.append(PageBreak())
# Page 2 story.append(Paragraph("Page 2", styles['Heading1'])) story.append(Paragraph("Content for page 2", styles['Normal']))
# Build PDF doc.build(story) ```
#### الأحرف السفلية والعلوية (Subscripts and Superscripts)
**هام**: لا تستخدم أبدا أحرف Unicode السفلية/العلوية (₀₁₂₃₄₅₆₇₈₉, ⁰¹²³⁴⁵⁶⁷⁸⁹) في ملفات PDF التي تم إنشاؤها باستخدام ReportLab. لا تتضمن الخطوط المضمنة هذه الرموز، مما يتسبب في عرضها كمربعات سوداء صلبة.
بدلا من ذلك، استخدم علامات ترميز XML الخاصة ب ReportLab في كائنات Paragraph: ```python from reportlab.platypus import Paragraph from reportlab.lib.styles import getSampleStyleSheet
styles = getSampleStyleSheet()
# Subscripts: use <sub> tag chemical = Paragraph("H<sub>2</sub>O", styles['Normal'])
# Superscripts: use <super> tag squared = Paragraph("x<super>2</super> + y<super>2</super>", styles['Normal']) ```
بالنسبة للنصوص المرسومة على canvas (وليس كائنات Paragraph)، اضبط حجم الخط وموضعه يدويا بدلا من استخدام أحرف Unicode السفلية/العلوية.
## أدوات سطر الأوامر
### pdftotext (poppler-utils) ```bash # Extract text pdftotext input.pdf output.txt
# Extract text preserving layout pdftotext -layout input.pdf output.txt
# Extract specific pages pdftotext -f 1 -l 5 input.pdf output.txt # Pages 1-5 ```
### qpdf ```bash # Merge PDFs qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf
# Split pages qpdf input.pdf --p ```
التثبيت
شغل هذا الأمر
npx skills add anthropics/skillsيعمل مع
خطوات التثبيت
ثبت باستخدام `npx skills add anthropics/skills`، أو استنسخ المستودع وانسخ مجلد `skills/pdf` إلى دليل مهارات Claude الخاص بك.
أسئلة شائعة
ما هي مهارة ملف PDF؟
استخدم هذه المهارة كلما أراد المستخدم القيام بأي شيء يتعلق بملفات PDF. يشمل ذلك قراءة أو استخراج النصوص/الجداول من ملفات PDF، دمج ملفات PDF متعددة في ملف واحد، تقسيم ملفات PDF، تدوير الصفحات، إضافة علامات مائية، إنشاء ملفات PDF جديدة، تعبئة نماذج PDF، تشفير/فك تشفير ملفات PDF، استخراج الصور، وإجراء OCR على ملفات PDF الممسوحة ضوئيا لجعلها قابلة للبحث. إذا ذكر المستخدم ملف .pdf أو طلب إنتاج واحد، فاستخدم هذه المهارة.
كيف أثبت ملف PDF؟
شغل هذا الأمر في الطرفية:
npx skills add anthropics/skillsمع أي أدوات ذكاء اصطناعي تعمل ملف PDF؟
تعمل مع claude_app، claude_code، claude_api، cursor، codex، windsurf، cline، zed.
من طور ملف PDF؟
طورها anthropics، وتصدر بترخيص Proprietary. LICENSE.txt has complete terms.
هل ملف PDF مجانية؟
نعم، يمكنك استخدامها مجانا وفق ترخيص Proprietary. LICENSE.txt has complete terms.
npx skills add vercel-labs/skills
npx skills add mattpocock/skills
npx skills add mattpocock/skills
npx skills add mattpocock/skills
npx skills add mattpocock/skills
npx skills add genmedia-labs/skills
افحص قبل التثبيت
شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.
فحص أمني تلقائي للموقع
الأمان
محلل سرعة الصفحة
الأداء
اختبار جودة المحتوى العربي بالذكاء الاصطناعي
جودة المحتوى
مختبر وكلاء الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
كاشف منصة الموقع
الترحيل
تدقيق الظهور في محركات الذكاء الاصطناعي
الظهور في الذكاء الاصطناعي
مولد ملف llms.txt
الظهور في الذكاء الاصطناعي
مقياس سهولة القراءة بالعربية
جودة المحتوى
منشئ البيانات المنظمة
الظهور في الذكاء الاصطناعي
حاسبة تكاليف الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
محلل العناوين العربية
جودة المحتوى