示例#1
0
        public static Document Erp90w(string path)
        {
            SAXParserFactoryImpl   sAXParserFactoryImpl   = new SAXParserFactoryImpl();
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();

            documentBuilderFactory.setNamespaceAware(true);
            Document document = documentBuilderFactory.newDocumentBuilder().parse(new BufferedInputStream(new FileInputStream(path)));

            return(document);
        }
示例#2
0
        private void DoMetadata()
        {
            java.util.TimeZone timeZone = java.util.TimeZone.getTimeZone("GMT");
            Calendar           instance = Calendar.getInstance();

            instance.setTimeZone(timeZone);
            PDDocumentInformation documentInformation = this.doc.getDocumentInformation();

            documentInformation.setModificationDate(instance);
            if (documentInformation.getAuthor() == null)
            {
                documentInformation.setAuthor("Aquaforest");
            }
            if ((string.IsNullOrEmpty(documentInformation.getProducer()) ? true : documentInformation.getProducer() == " "))
            {
                documentInformation.setProducer("Aquaforest PDFA - http://www.aquaforest.com");
            }
            if (documentInformation.getKeywords() == null)
            {
                documentInformation.setKeywords("");
            }
            documentInformation.getCreationDate();
            instance.setTime(this.GetDate(documentInformation.getCreationDate()));
            documentInformation.setCreationDate(instance);
            this.doc.setDocumentInformation(documentInformation);
            this.doc.save(this.tempFileName);
            documentInformation = this.doc.getDocumentInformation();
            PDDocumentCatalog documentCatalog = this.doc.getDocumentCatalog();
            XMPMetadata       xMPMetadatum    = XMPMetadata.createXMPMetadata();

            if (this.ConformanceLevel.Trim().ToLower() == "a")
            {
                PDMarkInfo pDMarkInfo = new PDMarkInfo();
                pDMarkInfo.setMarked(true);
                documentCatalog.setMarkInfo(pDMarkInfo);
            }
            PDFAIdentificationSchema pDFAIdentificationSchema = xMPMetadatum.createAndAddPFAIdentificationSchema();

            pDFAIdentificationSchema.setConformance(this.ConformanceLevel);
            pDFAIdentificationSchema.setPart(new Integer(this.pdfaversion));
            DublinCoreSchema dublinCoreSchema = xMPMetadatum.createAndAddDublinCoreSchema();
            string           title            = documentInformation.getTitle();

            if (title != null)
            {
                dublinCoreSchema.setTitle(title);
            }
            title = documentInformation.getSubject();
            if (title != null)
            {
                dublinCoreSchema.setDescription(title);
            }
            title = documentInformation.getAuthor();
            if (title != null)
            {
                dublinCoreSchema.addCreator(title);
            }
            AdobePDFSchema adobePDFSchema = xMPMetadatum.createAndAddAdobePDFSchema();

            title = documentInformation.getProducer();
            if (title != null)
            {
                adobePDFSchema.setProducer(title);
            }
            title = documentInformation.getKeywords();
            if (title != null)
            {
                adobePDFSchema.setKeywords(title);
            }
            XMPBasicSchema xMPBasicSchema = xMPMetadatum.createAndAddXMPBasicSchema();

            title = documentInformation.getCreator();
            if (title != null)
            {
                xMPBasicSchema.setCreatorTool(title);
            }
            if (documentInformation.getCreationDate() != null)
            {
                xMPBasicSchema.setCreateDate(documentInformation.getCreationDate());
            }
            if (documentInformation.getModificationDate() != null)
            {
                xMPBasicSchema.setModifyDate(documentInformation.getModificationDate());
            }
            xMPBasicSchema.setMetadataDate(new GregorianCalendar());
            XmpSerializer          xmpSerializer          = new XmpSerializer();
            ByteArrayOutputStream  byteArrayOutputStream  = new ByteArrayOutputStream();
            SAXParserFactoryImpl   sAXParserFactoryImpl   = new SAXParserFactoryImpl();
            TransformerFactoryImpl transformerFactoryImpl = new TransformerFactoryImpl();

            xmpSerializer.serialize(xMPMetadatum, byteArrayOutputStream, false);
            PDMetadata pDMetadatum = new PDMetadata(this.doc);

            pDMetadatum.importXMPMetadata(byteArrayOutputStream.toByteArray());
            documentCatalog.setMetadata(pDMetadatum);
            this.doc.save(this.tempFileName);
            documentInformation = this.doc.getDocumentInformation();
        }