无法在React原生iOS应用程序中生成PDF

问题描述 投票:0回答:1

我继承了一个在 iOS 和 Android 上运行的旧版 React-Native 旧版应用程序。有一段代码可以生成 PDF 报告,我将其粘贴在下面。该代码在 Android 中运行得很好,但在 iOS 应用程序中却挂起。 导入功能:

import pdfmake from "pdfmake/build/pdfmake";
import pdfFonts from "pdfmake/build/vfs_fonts";
const generatePdf = (docDefinition) =>
    new Promise((resolve, reject) => {
        try {
            const pdfDocGenerator = pdfmake.createPdf(docDefinition);
            pdfDocGenerator.getBase64((pdfData) => {
                resolve({
                    pdfBase64Data: `data:application/pdf;base64,${pdfData}`,
                    onlyData: pdfData,
                });
            });
        } catch (error) {      
            reject(error);
        }
    });

由于它在 Android 中可以正常工作,因此可以假设

docDefinition
具有正确的值。
我打印了
pdfDocGenerator 
,它正确地打印了对象。 问题是
pdfDocGenerator.getBase64((pdfData)
永远不会返回,并且无法解决到下一个级别 这种情况仅发生在 iOS 中

package.json 有以下行

 "pdfmake": "^0.2.6",
,我可以看到它安装了 0.2.7 版本

代码/项目是由另一个团队开发的,现在我负责该项目的延续。发布版本代码在两个平台上都运行得很好。但我无法让它在项目环境中工作。高度怀疑环境设置/不知何故,pdfmake 库没有捆绑在 iOS 中。

  • 我已经尝试过 mac book 中示例中的独立 pdfmake 应用程序,它工作正常
  • 我切换了旧版本的 pdfmake(0.2.6 和 0.2.4)
  • 在下面尝试了几次
rm -rf package-lock.json node_modules
rm -rf android/app/build
rm ios/Pods ios/Podfile.lock 
rm -rf ~/Library/Developer/Xcode/DerivedData
npm install && cd ios && pod update && cd ..
javascript ios react-native pdf-generation pdfmake
1个回答
0
投票

我在 Github 中发现了类似的问题。因此更改 pdfmake 版本 0.1.72 版本解决了我的问题。问题是这是处理它的理想方法吗!?

© www.soinside.com 2019 - 2024. All rights reserved.