List of usage examples for org.apache.poi.openxml4j.opc OPCPackage getPartsByContentType
public ArrayList<PackagePart> getPartsByContentType(String contentType)
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 }