Преглед изворни кода

This patch contains a fix that makes Docx portable to mono. Fix for the exception: absolute path not supported on mono os x, on creating a document. Tested on windows using VS and tested on linux and mac os x using xamarin

Patch provided by Revobtz
master
MadBoy_cp пре 11 година
родитељ
комит
a703723089
1 измењених фајлова са 6 додато и 6 уклоњено
  1. 6
    6
      DocX/DocX.cs

+ 6
- 6
DocX/DocX.cs Прегледај датотеку

switch (rel.RelationshipType) switch (rel.RelationshipType)
{ {
case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes": case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes":
document.endnotesPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.RelativeOrAbsolute));
document.endnotesPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.Relative));
using (TextReader tr = new StreamReader(document.endnotesPart.GetStream())) using (TextReader tr = new StreamReader(document.endnotesPart.GetStream()))
document.endnotes = XDocument.Load(tr); document.endnotes = XDocument.Load(tr);
break; break;
case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes": case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes":
document.footnotesPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.RelativeOrAbsolute));
document.footnotesPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.Relative));
using (TextReader tr = new StreamReader(document.footnotesPart.GetStream())) using (TextReader tr = new StreamReader(document.footnotesPart.GetStream()))
document.footnotes = XDocument.Load(tr); document.footnotes = XDocument.Load(tr);
break; break;
case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles": case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles":
document.stylesPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.RelativeOrAbsolute));
document.stylesPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.Relative));
using (TextReader tr = new StreamReader(document.stylesPart.GetStream())) using (TextReader tr = new StreamReader(document.stylesPart.GetStream()))
document.styles = XDocument.Load(tr); document.styles = XDocument.Load(tr);
break; break;
case "http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects": case "http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects":
document.stylesWithEffectsPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.RelativeOrAbsolute));
document.stylesWithEffectsPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.Relative));
using (TextReader tr = new StreamReader(document.stylesWithEffectsPart.GetStream())) using (TextReader tr = new StreamReader(document.stylesWithEffectsPart.GetStream()))
document.stylesWithEffects = XDocument.Load(tr); document.stylesWithEffects = XDocument.Load(tr);
break; break;
case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable": case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable":
document.fontTablePart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.RelativeOrAbsolute));
document.fontTablePart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.Relative));
using (TextReader tr = new StreamReader(document.fontTablePart.GetStream())) using (TextReader tr = new StreamReader(document.fontTablePart.GetStream()))
document.fontTable = XDocument.Load(tr); document.fontTable = XDocument.Load(tr);
break; break;
case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering": case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering":
document.numberingPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.RelativeOrAbsolute));
document.numberingPart = package.GetPart(new Uri("/word/" + rel.TargetUri.OriginalString.Replace("/word/", ""), UriKind.Relative));
using (TextReader tr = new StreamReader(document.numberingPart.GetStream())) using (TextReader tr = new StreamReader(document.numberingPart.GetStream()))
document.numbering = XDocument.Load(tr); document.numbering = XDocument.Load(tr);
break; break;

Loading…
Откажи
Сачувај