Example #1
0
        public void DeletePart(PackageRelationship relationship)
        {
            var packagePartUri = PackagePartHelper.EnsureCorrectUri(relationship.TargetUri);

            if (!package.PartExists(packagePartUri))
            {
                throw new Exception($"Package part {packagePartUri} does not exist");
            }
            package.DeletePart(packagePartUri);
        }
Example #2
0
        internal WordDocumentPackage(Stream stream)
        {
            memoryStream = new MemoryStream();
            stream.CopyTo(memoryStream);
            package = Package.Open(memoryStream, FileMode.Open, FileAccess.ReadWrite);

            var officeDocumentRelationship = package.GetRelationshipsByType(RelationshipTypes.OfficeDocument).Single();

            DocumentPart  = package.GetPart(PackagePartHelper.EnsureCorrectUri(officeDocumentRelationship.TargetUri));
            SettingsPart  = GetSinglePackagePart(RelationshipTypes.Settings);
            StylesPart    = GetSinglePackagePart(RelationshipTypes.Styles);
            NumberingPart = FindSinglePackagePart(RelationshipTypes.Numbering);
        }
Example #3
0
        private PackagePart?FindSinglePackagePart(string relationshipType)
        {
            var packageRelationship = DocumentPart.GetRelationships().SingleOrDefault(r => r.RelationshipType == relationshipType);

            return(packageRelationship != null?package.GetPart(PackagePartHelper.EnsureCorrectUri(packageRelationship.TargetUri)) : null);
        }
Example #4
0
 public Stream GetPackagePartStream(Uri uri, FileMode mode, FileAccess access)
 {
     return(new PackagePartStream(package.GetPart(PackagePartHelper.EnsureCorrectUri(uri)).GetStream(mode, access)));
 }