Free Support Forum - aspose.com

Generate PDF/A files Aspose.PDF for .NET - Cannot find /EF/F/Type and /AFRelationship; PDF/A3 output files fail zugferd/factur-x validation

Hi,

We are using Aspose PDF since couple of weeks now and we need to generate a PDF/A3 meeting standards zugferd/factur-x.

After generat my file with Aspose.pdf I use a pdf validator from this site https://services.fnfe-mpe.org/account/home which allows to check the good conformity of the file.

Unfortunatly I have 2 errors after this operation. My first return is :
1 - Missing entry /EF/F/Type
After many research I can’t find the way to enhance this field by Aspose.pdf.
Could you help me for this first request ?

My second error is an known problem with you, it concern the field /AFRelationship.
Here my second error :
2 - Wrong value for /AFRelationship for file factur-x.xml - Accepted values for /AFRelationship are: ‘/Data’, ‘/Source’, ‘/Alternative’. Current value is ‘/Unspecified’.

Apparently this field seems to be valued by your API but with the wrong value and i can’t find the field to change the value.
Could you investigated to help us to value this field ?

It’s very important for us to validate the standard zugferd/factur-x for our clients

Thanks in advance for your reply

@Murphy54,

Thanks for contacting support.

Can you please share source files along with generated result and sample code so that we may further investigate to help you out.

@Adnan.Ahmad

Here my code when i embed a file at my pdf file

var fileToEmbedName = fileToEmbedFullName.FileName;
Stream fileStream = GetStreamFromBytes(fileToEmbedFullName.FileBytes);
FileSpecification fileSpecification = new FileSpecification(fileStream, fileToEmbedFullName.FileName, fileToEmbedFullName.Description)
{
Description = fileToEmbedFullName.Description,
Name = fileToEmbedName,
UnicodeName = fileToEmbedName,
Contents = fileStream,
MIMEType = fileToEmbedFullName.SubType,
IncludeContents = true,
Encoding = FileEncoding.None,
};

sourceDocument.EmbeddedFiles.Add(fileSpecification);

fileSpecification.Params = new FileParams(fileSpecification)
{
ModDate = DateTime.Now,
CreationDate = DateTime.Now
};

//TODO: Set /EF/F/Type
//TODO: Set AFRelationship = Data

I see no fields in FileSpecification Object which could allow me to enhance the fields that i need.

Here a diagram which describe Factur-X struct. You can see that /AFRelatioship and /Type are necessary. We find well some fields in your FileSpecification Object but not the two i need for validate the standard.

/F -> Name property,
/Desc -> Description property,
/Subtype -> MimeType property,
/Params -> Params property
etc

image.png (81.0 KB)

@Murphy54,

Can you please share source PDF and generated result so that we may work on that to help you out.

Sur @Adnan.Ahmad !

Here my source PDF

20200518_Murphy54_Facture.pdf (203.4 KB)

And here the result of the validator that I use (https://services.fnfe-mpe.org/) :

image.png (57.1 KB)

Have a good day

@Murphy54

We are looking into this and will get back to you with feedback soon.

Hi

You have been investigating the problem I have mentioned to you for 1 month now, have you been able to advance on the subject? This point is very important for our company and if this cannot be resolved quickly we will have to turn to another PDF solution.

Have a good day

@Murphy54

We apologize for the delay in response.

We would like to share with you that we already have been working on implementing Zugferd/factur-x validation support in the API to meet the standards and various tasks are under the phase of investigation regarding Zugferd/factur-x compliance for File Specifications in PDF documents.

Another ticket as PDFNET-48415 has been logged in our issue tracking system for your particular scenario. We will also investigate this ticket for implementation feasibility and keep you posted with the status of feature availability. Please spare us some time.

We again apologize for the delay and inconvenience.

@asad.ali

Hello,

I allow myself to relaunch the ticket and I would like to take this opportunity to emphasize another point, when I use an European “factur-x” official file and I want to check that it has been validated correctly using the Aspose “Validate” method. She returns false with an official file. Here is a code snippet and the file in question .

file : Facture_FR_BASICWL.pdf (84.6 KB)

code :

public static bool EstPdfFormatA3(string fichierSource)
{
bool estPDFA3 = false;
Document pdfDocument = new Document(fichierSource);

            if(pdfDocument != null)
            {
                switch (pdfDocument.PdfFormat)
                {
                    case PdfFormat.PDF_A_3A:
                        estPDFA3 = pdfDocument.Validate(new MemoryStream(), PdfFormat.PDF_A_3A);
                        break;

                    case PdfFormat.PDF_A_3B:
                        estPDFA3 = pdfDocument.Validate(new MemoryStream(), PdfFormat.PDF_A_3B);
                        break;

                    case PdfFormat.PDF_A_3U:
                        estPDFA3 = pdfDocument.Validate(new MemoryStream(), PdfFormat.PDF_A_3U);
                        break;

                    default:
                        break;
                }
            }            

            return estPDFA3;
        }

@Murphy54

Thanks for providing further details.

We have updated the information of earlier-logged ticket and will consider it as well during investigation.

Hi @asad.ali,

New relaunch.

Can we have a feedback please? The subject has been open since May 14. Is an ETA possible?

@Murphy54

The issue was logged in June 2020 and sadly, it is pending for analysis due to other tickets logged prior to it. However, we have recorded your concerns and will consider them while issue investigation. We will inform you as soon as we have some definite updates regarding its resolution. Please have patience and give us some time.