private static void ProcessDwfx(string dwfxPath)
{
var pageListUri = new List<string>();
var container = Package.Open(dwfxPath, FileMode.Open);
try
{
foreach (var part in container.GetParts())
{
if (part.Uri.ToString().EndsWith(".fpage"))
{
pageListUri.Add(part.Uri.ToString());
}
}
foreach (var pageUri in pageListUri)
{
var xDoc = new XmlDocument();
int nF = pageUri.LastIndexOf("/", StringComparison.InvariantCulture);
var descriptorUri = pageUri.Substring(0, nF + 1) + "descriptor.xml";
PackagePart part = container.GetPart(new Uri(descriptorUri, UriKind.Relative));
Stream stream = part.GetStream(FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(stream);
string text = reader.ReadToEnd();
nF = text.IndexOf(" ", StringComparison.InvariantCulture);
text = text.Substring(0, nF + 1) + "xmlns:native=\"http://www.autodesk.com/global/dwf/ePlot.xsd\"" + text.Substring(nF);
xDoc.PreserveWhitespace = true;
xDoc.LoadXml(text);
//парсим xDoc и достаем свойства листов
}
}
finally
{
container.Close();
}
}