liuyang_bnu
路人甲
路人甲
  • 注册日期2006-05-15
  • 发帖数7
  • QQ
  • 铜币143枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2272回复:7

请教:如何保存一个SxD文件

楼主#
更多 发布于:2007-04-15 21:18
<BR>那位知道如何实现保存SXD 文档,用编程打开SXD很容易,但没有保存的功能。
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2007-04-16 14:35
<P>可以利用IPersistStream接口来保存,可以先看看帮助,具体问题可以到这里讨论</P>IPersistStream Interface (esriSystem)
<br>
<p>
<p>
<P>Product Availability</P>Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
<P>Description</P>
<P>IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.</P>
举报 回复(0) 喜欢(0)     评分
kesai2008
路人甲
路人甲
  • 注册日期2006-08-17
  • 发帖数24
  • QQ
  • 铜币274枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-04-17 13:04
不知怎么去做,怎么能保存?
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2007-04-17 22:55
<PRE>*******code from Esri*************
Dim pMemoryBlobStream As IMemoryBlobStream
Set pMemoryBlobStream = New MemoryBlobStream
Dim pObjectStream As IObjectStream
Set pObjectStream = New ObjectStream
Set pObjectStream.Stream = pMemoryBlobStream

Dim pPersistStream As IPersistStream
Dim pPageLy as iPageLayout
 Set pPageLy = pMxDoc.PageLayout
Set pPersistStream = pPageLy
'page layout implements ipersiststream only

pPersistStream.Save pObjectStream, False
pMemoryBlobStream.SaveToFile “C:\Temp\MyFile.blb”
'ipagelayout object is saved to a file

'**now I could also retrieve the object from the file
like this ***'
dim pPageLy1 as iPageLayout
set pPageLy1 = new PageLayout

Dim pObjectStream As IObjectStream
Set pObjectStream = New ObjectStream

Dim pMemoryBlobStream As IMemoryBlobStream
Set pMemoryBlobStream = New MemoryBlobStream
pMemoryBlobStream.LoadFromFile “C:\Temp\MyFile.blb”

Dim pPersistStream As IPersistStream
Set pPersistStream = pPageLy1
Set pObjectStream.Stream = pMemoryBlobStream
pPersistStream.Load pObjectStream
'this would create new page layout object</PRE>
举报 回复(0) 喜欢(0)     评分
kesai2008
路人甲
路人甲
  • 注册日期2006-08-17
  • 发帖数24
  • QQ
  • 铜币274枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-04-23 11:26
不错啊,果然可以,而且效果和ArcScene里的文档一样,只是直接用Arcscene打不开,呵呵,实现了,真好。
举报 回复(0) 喜欢(0)     评分
zengnjin1985090
路人甲
路人甲
  • 注册日期2006-12-02
  • 发帖数26
  • QQ
  • 铜币43枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2007-05-12 15:09
不错,好
举报 回复(0) 喜欢(0)     评分
wuhanpl
路人甲
路人甲
  • 注册日期2006-05-06
  • 发帖数20
  • QQ
  • 铜币340枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2007-05-12 18:54
请楼主把打开SXD 文档的代码写出来,让我参考一下吧!
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2007-05-12 22:24
代码写出来吧
举报 回复(0) 喜欢(0)     评分
游客

返回顶部