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 ```
التثبيت
شغل هذا الأمر
git clone https://github.com/anthropics/skills && cp -r skills/skills/pdf ~/.claude/skills/يعمل مع
خطوات التثبيت
استنسخ المستودع وانسخ مجلد `pdf` إلى دليل مهارات Claude الخاص بك. متوافق مع Claude Code وCursor وCodex وأي وكيل متوافق مع Agent Skills.
أسئلة شائعة
ما هي مهارة ملف PDF؟
استخدم هذه المهارة كلما أراد المستخدم القيام بأي شيء يتعلق بملفات PDF. يشمل ذلك قراءة أو استخراج النصوص/الجداول من ملفات PDF، دمج ملفات PDF متعددة في ملف واحد، تقسيم ملفات PDF، تدوير الصفحات، إضافة علامات مائية، إنشاء ملفات PDF جديدة، تعبئة نماذج PDF، تشفير/فك تشفير ملفات PDF، استخراج الصور، وإجراء OCR على ملفات PDF الممسوحة ضوئيا لجعلها قابلة للبحث. إذا ذكر المستخدم ملف .pdf أو طلب إنتاج واحد، فاستخدم هذه المهارة.
كيف أثبت ملف PDF؟
شغل هذا الأمر في الطرفية:
git clone https://github.com/anthropics/skills && cp -r skills/skills/pdf ~/.claude/skills/مع أي أدوات ذكاء اصطناعي تعمل ملف PDF؟
تعمل مع claude_app، claude_code، claude_api، cursor، codex، windsurf، cline، zed.
من طور ملف PDF؟
طورها Anthropic، وتصدر بترخيص 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
الظهور في الذكاء الاصطناعي
منشئ البيانات المنظمة
الظهور في الذكاء الاصطناعي
مقياس سهولة القراءة بالعربية
جودة المحتوى
حاسبة تكاليف الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
محلل العناوين العربية
جودة المحتوى