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); }
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); }
private PackagePart?FindSinglePackagePart(string relationshipType) { var packageRelationship = DocumentPart.GetRelationships().SingleOrDefault(r => r.RelationshipType == relationshipType); return(packageRelationship != null?package.GetPart(PackagePartHelper.EnsureCorrectUri(packageRelationship.TargetUri)) : null); }
public Stream GetPackagePartStream(Uri uri, FileMode mode, FileAccess access) { return(new PackagePartStream(package.GetPart(PackagePartHelper.EnsureCorrectUri(uri)).GetStream(mode, access))); }