السلام عليكم اعمل على اتطبيق react native expo
اقوم بطباعة ملف pdf لكن المشكلة هى ان اقوم بطباعة اراى داخل الملف
حاول استخدام مكتبة React Native PDF، كالتالي:
import React, { useState } from "react"; import { Pdf, PdfPage } from "react-native-pdf"; function App() { const [array, setArray] = useState([ "عنصر 1", "عنصر 2", "عنصر 3", ]); return ( <Pdf> {array.map((item, index) => ( <PdfPage key={index}> <Text> #{index}: {item} </Text> </PdfPage> ))} </Pdf> ); }
والنتيجة هي إنشاء ملف PDF يحتوي على ثلاثة صفحات، كل صفحة تحتوي على عنصر من array.
أيضًا يتوفر ميثود addPage() لإضافة صفحات إلى ملف PDF، ويمكنك استخدامها لإضافة صفحة تحتوي على array بأكملها:
import React, { useState } from "react"; import { Pdf, PdfPage } from "react-native-pdf"; function App() { const [array, setArray] = useState([ "عنصر 1", "عنصر 2", "عنصر 3", ]); const pdf = new Pdf(); pdf.addPage( <PdfPage> {array.map((item, index) => ( <Text> #{index}: {item} </Text> ))} </PdfPage> ); return ( <Pdf ref={pdf} /> ); }
وسيتم إنشاء ملف PDF يحتوي على صفحة واحدة تحتوي على array بأكملها.
حاول استيراد المكتبات التالية:
import * as Print from 'expo-print'; import { shareAsync } from 'expo-sharing';
ثم استخدام الدالة التالي printToFile لطباعة ما تريده كالتالي:
const printToFile = async () => { const data = [ "عنصر 1", "عنصر 2", "عنصر 3", ] const { uri } = await Print.printToFileAsync({ data}); console.log('File has been saved to:', uri); await shareAsync(uri, { UTI: '.pdf', mimeType: 'application/pdf' }); };
التعليقات