السلام عليكم اعمل على اتطبيق react native expo
اقوم بطباعة ملف pdf لكن المشكلة هى ان اقوم بطباعة اراى داخل الملف
لاكن هذا الطريقة لا تعمل مع expo
انا استخدم مكتبة expo-print
في هذه الحالة يمكنك القيام بنفس الأمر و لكن بهذا الكود الجديد:
اول شيء نقوم بتنسيق المحتوى بكود HTML و يمكنك تغيير الإعدادات على حسب رغبتك:
import React from 'react'; import { PDFViewer, Page, Text, View, Document, StyleSheet } from '@react-pdf/renderer'; const MyDocument = ({ dataArray }) => { return ( <Document> <Page size="A4" style={styles.page}> <View style={styles.section}> <Text>المحتوى في الملف PDF:</Text> {dataArray.map((item, index) => ( <Text key={index}>{`${index + 1}. ${item}`}</Text> ))} </View> </Page> </Document> ); }; const styles = StyleSheet.create({ page: { flexDirection: 'row', backgroundColor: 'white', }, section: { margin: 10, padding: 10, flexGrow: 1, }, }); export default MyDocument;
بعدها يمكنك استيراد مكون MyDocument الذي تم إنشاؤه في الخطوة السابقة واستخدامه لإنشاء الملف PDF وطباعته.
import React from 'react'; import { Button } from 'react-native'; import * as Print from 'expo-print'; import MyDocument from './MyDocument'; const PrintPDF = ({ dataArray }) => { const handlePrintPDF = async () => { const html = MyDocument({ dataArray }).toBlob(); await Print.printToFileAsync({ html }); }; return ( <Button title="طباعة ملف PDF" onPress={handlePrintPDF} /> ); }; export default PrintPDF;
مجتمع مطوري ومبرمجي نظام أندرويد
صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.
التعليقات