通过系统剪贴板将HTML复制到Word,并保留原始格式

类html实用程序

{

//将HTML代码复制到Windows剪贴板,并确保它位于中

[dll import(' u;)]

static extern bool open clipboard(intptr hwnd newowner);

[dll import(' u;)]

static extern bool EmptyClipboard();

[dll import(' u;)]

static extern intptr setclipboarddata(uint uformat、intptr hmem);

[dll import(' u;)]

static extern bool close clipboard();

[dll import(' u;SetLastError=true)]

static extern uint registerclipboardformata(string lpsz format);

[dllimport ('kernel32.dll ',setlasterror=true)]

static extern intptr global lock(intptr hmem):

[dllimport ('kernel32.dll ',setlasterror=true)]

static extern uint globalsize(int ptr hmem):

[dllimport ('kernel32.dll ',setlasterror=true)]

static extern intptr global unlock(intptr hmem):

///摘要

///copy the html into clipboard

////摘要

///param name='html'/param

///returns/returns

static public bool copyhtmltoclipboard(string html)

{

uint cf _ html=register clipboardformata(' html format ');

Bool bResult=false

If (OpenClipboard)

{

If (EmptyClipboard())

{

byte[]bs=Sy(html);

intsize=mar(type of(byte))* bs . length;

Intptr ptr=mar(大小);

Mar(bs、0、ptr、bs)。Length);

int ptr hres=setclipboarddata(cf _ html,ptr);

close clipboard();

}

}

Return bResult

}

//根据Windows剪贴板单元格格式化HTML代码

public static string htmlclipboarddata(string html)

{

string builder sb=new string builder();

Encoding encoding=Encoding。UTF8(936);

Stringheader=@ '版本3360 1.0

StartHTML: { 0:000000 }

EndHTML: { 1:000000 }

start fragment : { 2:00000 }

EndFragment: { 3:000000 }

;不确定。

String HtmlPrefix=@ '!doctype html public ' '-//w 3 c//dtd html 4 . 0 transitional//en ' '

Html

头(电影)

meta http-equiv=content-type content=' ' text/html;Charset={0} ' '

/head

菩提

!- StartFragment -

;不确定。

HtmlPrefix=(HtmlPrefix,' GB 2312 ');

String HtmlSuffix=@ '!-end fragment-/body/html ';

//Get lengths of chunks

intheader length=encoding . getbytecount(header);

标头长度-=16;//extra formatting characters { 0333 6000000 }

int prefix length=encoding . getbytecount(html prefix);

inthtmllength=encoding . getbytecount(html);

ints uffix length=encoding . getbytecount(html suffix);

//Determine locations of chunks

Int StartHtml=HeaderLength

int start fragment=starth tml prefix length;

intend fragment=start fragment html length;

intend html=end fragment suffix length;

//Build the data

(header、starthtml、end html、start fragment、end fragment);

(HtmlPrefix);

(html);

(HtmlSuffix);

());

return();

}

}

呼叫:

string html=' pin put type=' text ' name=' test ' ABC/p ';

html=htm Lu(html);

htm Lu(html);

//then you can paste into word using wdpa parameter

Object dataType=Word。WdPa

Newa (ref nothing、ref nothing、ref nothing、ref nothing、ref datatype、ref nothing和ref nothing);中选择另一种天花板类型。

请看具体的实现

想要深入学习的学生可以加入QQ小组讨论。QQ讨论组:984370849 706564342

欢迎参加讨论。戴尔拥有高度完整的资源笔记共享。此外,还有IT行业的员工。在这里可以找到快速解决问题的方法。是的,我在等你。我将分享我们之间的经验。(大卫亚设)。

分享我们之间不同问题的解决办法。

1.《【怎么把网页转到word上】如何将HTML移至Word,一点教室(多安学院)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【怎么把网页转到word上】如何将HTML移至Word,一点教室(多安学院)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2499018.html