Example usage for org.apache.poi.openxml4j.opc OPCPackage getPartsByContentType

List of usage examples for org.apache.poi.openxml4j.opc OPCPackage getPartsByContentType

Introduction

In this page you can find the example usage for org.apache.poi.openxml4j.opc OPCPackage getPartsByContentType.

Prototype

public ArrayList<PackagePart> getPartsByContentType(String contentType) 

Source Link

Document

Retrieve parts by content type.

Usage

From source file:excelimporter.reader.readers.ReadOnlySharedStringsTable.java

License:Apache License

/**
 * @param pkg//from   www  . j a va 2  s. co m
 * @throws IOException
 * @throws SAXException
 * @throws ParserConfigurationException
 */
public ReadOnlySharedStringsTable(OPCPackage pkg) throws IOException, SAXException {
    ArrayList<PackagePart> parts = pkg.getPartsByContentType(XSSFRelation.SHARED_STRINGS.getContentType());

    // Some workbooks have no shared strings table.
    if (parts.size() > 0) {
        PackagePart sstPart = parts.get(0);
        readFrom(sstPart.getInputStream());
    }
}

From source file:org.roda.common.certification.OOXMLSignatureUtils.java

public static void runDigitalSignatureStrip(Path input, Path output)
        throws IOException, InvalidFormatException {

    CopyOption[] copyOptions = new CopyOption[] { StandardCopyOption.REPLACE_EXISTING };
    Files.copy(input, output, copyOptions);
    OPCPackage pkg = OPCPackage.open(output.toString(), PackageAccess.READ_WRITE);

    ArrayList<PackagePart> pps = pkg.getPartsByContentType(SIGN_CONTENT_TYPE_OOXML);
    for (PackagePart pp : pps) {
        pkg.removePart(pp);//w  w w .j a  v a 2s.c o m
    }

    ArrayList<PackagePart> ppct = pkg.getPartsByRelationshipType(SIGN_REL_TYPE_OOXML);
    for (PackagePart pp : ppct) {
        pkg.removePart(pp);
    }

    for (PackageRelationship r : pkg.getRelationships()) {
        if (r.getRelationshipType().equals(SIGN_REL_TYPE_OOXML)) {
            pkg.removeRelationship(r.getId());
        }
    }

    pkg.close();
}

From source file:test.unit.be.fedict.eid.applet.service.signer.OOXMLSignatureVerifierTest.java

License:Open Source License

@Test
public void testOPC() throws Exception {
    // setup/*w  w  w.j av a  2  s  . c o  m*/
    InputStream inputStream = OOXMLSignatureVerifierTest.class.getResourceAsStream("/hello-world-signed.docx");

    // operate
    OPCPackage opcPackage = OPCPackage.open(inputStream);

    ArrayList<PackagePart> parts = opcPackage.getParts();
    for (PackagePart part : parts) {
        LOG.debug("part name: " + part.getPartName().getName());
        LOG.debug("part content type: " + part.getContentType());
    }

    ArrayList<PackagePart> signatureParts = opcPackage
            .getPartsByContentType("application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml");
    assertFalse(signatureParts.isEmpty());

    PackagePart signaturePart = signatureParts.get(0);
    LOG.debug("signature part class type: " + signaturePart.getClass().getName());

    PackageDigitalSignatureManager packageDigitalSignatureManager = new PackageDigitalSignatureManager();
    // yeah... POI implementation still missing
}