ax365中pdf报告文件生成的问题

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

我有一个生成pdf的批处理过程。但是当我创建它时,我发现它已损坏。

对此代码有任何建议吗?

public boolean PDFProcess()
    {
        List                PDFFiles;
        ListEnumerator      PDFEnumerator;
        boolean             errors;
        filename            _from,_to,_temp, _name, _ext;
        container           _split;
        Bindata             _bin;
        DocuRef             docuref;
        custTable           custTable;
        DocuActionArchive   DocuActionArchive;
        System.IO.MemoryStream stream;
        System.IO.StreamWriter write;
        PDFFiles = VE005FilesTools::GetlistOfFiles(VEParameters.VE005Path2Read,VEParameters.VE005FileNameDocumentFilter);
        PDFEnumerator = PDFFiles.getEnumerator();
        while(PDFEnumerator.moveNext())
        {
            _from = PDFEnumerator.current();
            custTable = this.DecodePDF(_from);

            if (custTable)
            {
                _split = fileNameSplit(_from);
                _name = conPeek(_split,2);
                _ext = conPeek(_split,3);
                stream = new System.IO.MemoryStream();
                writer = new System.IO.StreamWriter(stream);
                writer.Write(_name);
                writer.Flush();
                docuref = DocumentManagement::attachFileToCommon(CustTable, VEParameters.VE005DocuTypeId, stream, _name+_ext, 'PDF', _name+_ext);


                if (this.move(_from,VEParameters.VE005Path2Backup))
                {
                    errors = true;
                }
            }
            else
            {
                if (this.move(_from,VEParameters.VE005Path2Errors))
                {
                    errors = true;
                }
            }
        }
        return errors;
    }
pdf x++ dynamics-365-operations
1个回答
1
投票

乍看之下,您似乎并没有将文件的内容读写到MemoryStream上,而只是将其写入名称

writer.Write(_name)

这就是为什么您的PDF可能已损坏(而且也很小:))

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