اريد طباعة ملف pdf

السلام عليكم اعمل على اتطبيق 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;