如何在react native expo中添加图像到pdf文件并打印

inb24sb2  于 2023-03-13  发布在  React
关注(0)|答案(1)|浏览(177)

我想打印一个pdf文件与html图像嵌入在它的React Native博览会移动的应用程序。当我试图生成pdf文件,图像是不包括在生成的pdf文件。任何帮助如何包括图像在我的pdf文件。

createPDF = async (html) => {    
      try {
        const {uri} = await Print.printToFileAsync(html);
        Print.printAsync({ uri });
        this.setState({callPrint: false});
      } catch(err) {
        console.error(err);
        this.setState({callPrint: false});
      }
  };

 const html = "
        <html>
            
            <body>
                <div class='title-container'>
                  <img source="asset/omnix.png" />
                   
                </div>
            </body>
        </html>
    ";
x8diyxa7

x8diyxa71#

这是iOS for expo上的已知问题,建议添加fetchImageData函数将图像转换为Base64字符串

createPDF = async (html) => {...};

fetchImageData = (uri) => { // fetch Base64 string of image data
 const data = await FileSystem.readAsStringAsync('file://' + uri, {
  encoding: FileSystem.EncodingType.Base64,
 });
 return imageData = 'data:image/png;base64,' + data;
};

const html = "
<html>
 <body>
  <div class='title-container'>
   <img source=${fetchImageData('asset/omnix.png')} />
  </div>
 </body>
</html>";

如果使用fetchImageData填充所有图像,它们将正确打印

相关问题