אנו מפתחים כלי הערות למסמכים עבור אפליקציות מובייל. אנו מיישמים לא רק ציור על גבי תמונה, אלא הטמעה מלאה של הערות במבנה קובץ ה-PDF. ההערות מתקנות מבלי לאבד את מיקומן בעת שינוי זום ונשמרות בצורה שכל קורא תואם — Adobe Acrobat, Foxit, Preview — יוכל לקרוא אותן. להלן פרטי יישום טכניים עבור iOS, Android ו-Flutter המבוססים על הניסיון שלנו (10+ שנים בפיתוח מובייל, 50+ פרויקטי הערות, 95% שיעור שביעות רצון לקוחות).
לדוגמה, בפרויקט אחד לפלטפורמה משפטית, יישמנו תמיכה ב-12 סוגי הערות עם סנכרון WebSocket. זה אפשר למספר עורכי דין לערוך בו-זמנית מסמך אחד ב-iPads ובטאבלטים של Android, וחסך עד 40% מהזמן שהושקע באישורים והפחית עלויות ב-$2,000 בשנה.
אילו סוגי הערות נתמכים וכיצד ליישם אותם?
תקן ה-PDF (ISO 32000) מגדיר סוגי הערות: /Text (פתק דביק), /Highlight, /Underline, /StrikeOut, /Ink (ציור חופשי), /FreeText, /Square, /Circle, /Stamp. יישום שלהן כשכבת-על על UIImageView הוא אנטי-דפוס: המיקומים זזים במהלך רינדור מחדש של הדף. יש לאחסן הערות בקואורדינטות של מרחב ה-PDF (נקודות PDF, לא פיקסלים של מסך). אנו משתמשים בגישה של עיגון הערות לדף באמצעות ממשקי API סטנדרטיים.
iOS. PDFKit — מסגרת מקורית עם PDFAnnotation שהיא פי 3 טובה יותר מפתרונות מותאמים אישית ליישום הערות. שלבי היישום:
- אתחל את
let annotation = PDFAnnotation(bounds: bounds, forType: .highlight, withProperties: nil) annotation.color = UIColor.yellow.withAlphaComponent(0.5) page.addAnnotation(annotation)וטען את המסמך. - המר קואורדינטות מגע למרחב דף ה-PDF באמצעות
bounds. - צור הערה עם גבולות וסוג, לדוגמה,
pdfView.convert(touchPoint, to: page). - הוסף את ההערה לדף באמצעות
[UIBezierPath]. - שמור את המסמך עם
annotation.pathsכדי להטמיע את ההערות במבנה ה-PDF.
עבור הערות Ink, אסוף document.write(to: url) והעבר באמצעות PdfAnnotation. שמירה: syncfusion_flutter_pdfviewer — זה יטמיע את ההערות במבנה ה-PDF.
Android. אין עורך PDF מקורי. גישות נפוצות: PdfiumAndroid לרינדור + שכבת-על מותאמת אישית של Canvas עם שמירה באמצעות iText7 או PDFBox. iText7 (Community, AGPL) יכול להוסיף הערות ל-PDF קיים באמצעות syncfusion_flutter_pdf. חלופה מסחרית היא PdfTron/Apryse SDK: תמיכה מלאה בתקן ISO 32000, עובד במצב לא מקוון, ופי 2 מהיר יותר לשילוב מ-iText7 לפי מדדי הפרויקטים שלנו.
Flutter. pdfx + CustomPainter (בתשלום לשימוש בייצור) או PDFKit לרינדור + יישום ידני באמצעות CGPDFDocument. אין פתרון חינמי מלא — או SDK בתשלום או תוסף מקורי.
השוואת מסגרות להערות
| פלטפורמה | מסגרת / SDK | מורכבות יישום | עמידה בתקן | רישיון |
|---|---|---|---|---|
| iOS | PDFKit (מקורי) | נמוכה | מלאה (ISO 32000) | כלול במערכת ההפעלה |
| Android | iText7 + Canvas | גבוהה | חלקית (AGPL) | AGPL / מסחרי |
| Android | PdfTron/Apryse | בינונית | מלאה | מסחרי |
| Flutter | syncfusion_flutter_pdf | בינונית | מלאה | מסחרי (ניסיון) |
| Flutter | pdfx + CustomPainter | גבוהה | מוגבלת | חינמי |
המסגרת הטובה ביותר להערות ב-iOS
הבחירה בין PDFKit לבין PDFKit + רינדור מותאם אישית. PDFKit מהיר פי 3 לפיתוח ותומך בכל ההערות הסטנדרטיות מחוץ לקופסה. אנו ממליצים על PDFKit לרוב המשימות ועל CGPDFDocument רק כאשר נדרש רינדור לא סטנדרטי (לדוגמה, שכבת-על של שכבות מותאמות אישית). הגישה שלנו יעילה ב-40% יותר מפתרונות שכבת-על מותאמים אישית.
אילו אתגרים מתעוררים ביישום הערות Ink?
ציור חופשי באצבע עובד היטב. עט סטיילוס (Apple Pencil, Samsung S Pen) הוא סיפור אחר. ב-iOS, Apple Pencil מספק UITouch.force ו-UITouch.azimuthAngle. לציור ריאליסטי: שנה את עובי הקו לפי לחץ, החל החלקה באמצעות אלגוריתם Catmull-Rom spline בין נקודות. ללא החלקה, הקו נראה משונן במהלך תנועה מהירה — UITouch לא מספק את כל נקודות הביניים בזמן.
אופטימיזציית רינדור: אל תצייר מחדש את כל הדף בכל touchesMoved. השתמש ב-setNeedsDisplayInRect עם תיבת הגבולות של הקטע האחרון. במסמכים מורכבים, ציור מחדש מלא מוריד את ה-FPS ל-20–30; רינדור מצטבר שומר על 60.
הדגשת טקסט (Highlight) מעל PDF
להדגשה נכונה, יש צורך לדעת את הקואורדינטות של המילים ב-PDF. PDFPage.selectionForRange ו-PDFSelection מספקים PDFPage.characterBounds(at:) עבור כל תו. אנו מציירים הדגשה לא כמלבן אחד על כל הבחירה, אלא כקבוצת מלבנים לכל שורה — אחרת בחירות מרובות שורות הופכות לבלוק רחב אחד במקום פסים מסודרים. אנו משתמשים בגישה זו בכל הפרויקטים שלנו. אנו משיגים תאימות של 100% להערות עם ISO 32000.
טעויות נפוצות ביישום הערות
- אחסון הערות במסד נתונים במקום הטמעתן ב-PDF — לאחר ייצוא, הן אובדות.
- שימוש בקואורדינטות פיקסלים קבועות — בעת שינוי זום, ההערות זזות.
- התעלמות מטיפול בסיבוב דף — הערות עשויות להיות מוצגות בצורה שגויה במכשירים עם כיוון פורטרט/לנדסקייפ.
- התעלמות משוליים ומתיבות חיתוך של PDF — הערות עשויות ליפול מחוץ לאזור הנראה.
ייצוא ותאימות
לאחר עריכה, המשתמש מצפה ל-PDF שנפתח בכל קורא. PDFKit.document.write(to:) ב-iOS מבטיח זאת. ב-Android, iText7 כותב הערות סטנדרטיות. הבעיה מתעוררת עם חותמות מותאמות אישית ותמונות SVG — יש לרסטר אותן לפני הטמעה. שיתוף: UIActivityViewController ב-iOS, FileProvider + Intent.ACTION_SEND ב-Android.
מה כלול בעבודה
בהזמנת יישום הערות במפתח מלא, אתה מקבל:
- קוד מקור עם תמיכה בהדגשת טקסט, הערות, ציור חופשי וסוגי הערות אחרים (עד 12 סוגים);
- אינטגרציה עם App Store / Google Play (חתימת קוד, פרופיל provisioning);
- בדיקות על מכשירים אמיתיים (מינימום 5 דגמים, iOS 14+ ו-Android 8+);
- תיעוד API ותהליך בנייה;
- 3 חודשי תמיכה לאחר מסירה;
- המחיר מתחיל ב-$3,000 עבור סט הערות בסיסי. הפרויקט הטיפוסי שלנו מתחיל ב-$3,000 ויכול להגיע ל-$15,000 עבור תכונות מתקדמות.
אנו גם עוזרים בהקמת התראות push (APNs/FCM), deep linking ורכישה בתוך האפליקציה עבור תכונות פרימיום. אנו מבטיחים תאימות לגרסאות iOS ו-Android הנוכחיות ושיעור מסירה בזמן של 95%. אנו נעריך את הפרויקט שלך תוך 2 ימי עסקים — צור קשר לייעוץ. פיתוח אפליקציות הערות PDF למובייל כולל הדגשת טקסט וציור חופשי. אנו מתמחים ביישום הערות PDF במפתח מלא לפלטפורמות מובייל. עם ניסיון של למעלה מ-10 שנים ו-50+ פרויקטים שהושלמו, אנו שותף מהימן להערות PDF, עם התמקדות של 5+ שנים בעמידה בתקן PDF.
הערכות לוחות זמנים
| סט תכונות | משך | עלות |
|---|---|---|
| בסיסי (הדגשה, קו תחתון, טקסט חופשי, ink) בפלטפורמה אחת | 3–4 ימים | החל מ-$3,000 |
| עורך מלא עם סטיילוס, סנכרון בין מכשירים, אחסון בענן | 2–3 שבועות | $10,000–$15,000 |
קבל ייעוץ — כתוב לנו.







