在我的网络应用程序中,我使用phplivedocx进行文本更改.但我还需要动态更改docx模板中的图像.你推荐什么工具?
提前致谢.
我有一个Delphi 7程序,它必须复制docx文件.我正在使用Windows API CopyFile函数.问题是这个函数似乎隐藏了转换为旧的doc格式.第一件事:复制后文件大小增加.第二:在Office 2007中打开文件时,我收到一条错误消息,指出:检查您对文档或磁盘的权限,检查可用磁盘空间.
而且奇怪的是:如果我在TotalCommander中更改了从docx到doc的复制文件的扩展名,它会正常打开.所以它似乎使隐藏的转换不知道为什么.
在两台不同的计算机上测试过.Win XP Prof SP3,Office 2007 Prof Plus SP2
有任何想法吗?
功能体如下:
function TDlgNowySzablon.PobierzPlikNaDoc() : string;
var
openDlg : TOpenDialog;
begin
Result:='';
openDlg:=TOpenDialog.Create(self);
openDlg.Filter:='Dokumenty Microsoft Word (*.doc;*docx)|*.doc;*.docx';
if openDlg.Execute then begin
Result := IObsSzab.GetTempFullFileName( ExtractFileExt(openDlg.FileName) );
if not CopyFile(PChar(openDlg.FileName),PChar(Result),true) then begin
Result:='';
end;
end;
openDlg.Free;
end;
Run Code Online (Sandbox Code Playgroud) 我想将HTML或MXML文件文档转换为Microsoft .doc和/或.docx格式.
请举例说明这一点?
我有两个段落,我想在每行之前有100磅的空间.我们有办法Apache POI吗?
这是代码片段
XWPFDocument doc = new XWPFDocument();
XWPFParagraph documentTitle = doc.createParagraph();
documentTitle.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run = documentTitle.createRun();
run.setText("Paragraph 1");
run.setBold(true);
run.setFontFamily("Calibri");
run.setFontSize(13);
run.setColor("4F81BD");
run.addBreak();
run.setText("Paragraph 2");
run.setBold(true);
run.setFontFamily("Calibri");
run.setFontSize(13);
run.setColor("4F81BD");
Run Code Online (Sandbox Code Playgroud)
这里如何100 pt在两段之间添加空格?有什么方法可以实现这个目标吗?
addBreak()没有在两条线之间保留任何空间.
以及如何在docx中设置边距?
任何帮助,将不胜感激.
谢谢.
我正在使用 DOCX4J 将 DOCX 转换为 HTML。我已成功完成转换并获得了 html 格式。我将使用 html 格式将其嵌入为 EMAIL 正文以发送电子邮件。但我有一些问题,如下所示....
请找到我写的代码,
WordprocessingMLPackage wordMLPackage;
wordMLPackage = Docx4J.load(new java.io.File(resourcePath2));
HTMLSettings htmlSettings = Docx4J.createHTMLSettings();
htmlSettings.setImageDirPath(imageFolder + resourcePath2 + "_files");
htmlSettings.setImageTargetUri(imageFolder +resourcePath2.substring(resourcePath2.lastIndexOf("/")+1) + "_files");
htmlSettings.setWmlPackage(wordMLPackage);
OutputStream os;
os = new ByteArrayOutputStream();
Docx4jProperties.setProperty("docx4j.Convert.Out.HTML.OutputMethodXML", true);
Docx4J.toHTML(htmlSettings, os, Docx4J.FLAG_SAVE_FLAT_XML);
DOCX = ((ByteArrayOutputStream)os).toString();
Run Code Online (Sandbox Code Playgroud) 我正在使用 Docx4j 从模板创建文档。
我找不到如何创建斜体段落(HTML 中的 <em> )的方法。
这是一个创建 Paragraph 的方法示例,其中有一个选项可以在Bold 中进行。
private static org.docx4j.wml.P createParagraph(String paragraphContent, boolean addNewLine, boolean bold) {
org.docx4j.wml.ObjectFactory factory = Context.getWmlObjectFactory();
org.docx4j.wml.P p = factory.createP();
org.docx4j.wml.R run = factory.createR();
p.getContent().add(run);
org.docx4j.wml.Text text = factory.createText();
text.setValue(paragraphContent);
run.getContent().add(text);
if(bold){
org.docx4j.wml.RPr rpr = factory.createRPr();
org.docx4j.wml.BooleanDefaultTrue b = new org.docx4j.wml.BooleanDefaultTrue();
b.setVal(true);
rpr.setB(b);
run.setRPr(rpr);
}
if (addNewLine) {
run.getContent().add(factory.createBr());
}
return p;
}
Run Code Online (Sandbox Code Playgroud)
有人知道如何制作斜体段落吗?
我正在尝试使用 poi 创建一个 docx 文件,但我无法为段落设置标题样式。
XWPFDocument document= new XWPFDocument();
//Write the Document in file system
FileOutputStream out = new FileOutputStream(new File("C:/Users/2/Desktop/RequirementModelDocument.docx"));
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
paragraph.setAlignment(ParagraphAlignment.LEFT);
paragraph.setStyle("Heading1");
run.setText(reqLevel.getName());
run.setBold(true);
run.setFontFamily("Calibri Light (Headings)");
Run Code Online (Sandbox Code Playgroud)
它就像忽略了这paragraph.setStyle("Heading1");条线。我看过 apache 的例子,但我看不到任何关于这个问题的例子。
我有一些docx文件。我使用OpenXML 2.5 SDK阅读它们,并TextInput在每个文档中搜索。
byte[] filebytes = System.IO.File.ReadAllBytes("Test.docx");
using (MemoryStream stream = new MemoryStream(filebytes))
using (WordprocessingDocument wordDocument = WordprocessingDocument.Open(stream, true))
{
IEnumerable<FormFieldData> fields = wordDocument.MainDocumentPart.Document.Descendants<FormFieldData>();
foreach (var field in fields)
{
IEnumerable<TextInput> textInputs = field.Descendants<TextInput>();
foreach (var ti in textInputs)
{
<<HERE>>
}
}
wordDocument.MainDocumentPart.Document.Save();
stream.Flush();
ETC...
}
Run Code Online (Sandbox Code Playgroud)
我如何在每个值中写入一个值TextInput?
谢谢!
我读取了第一个字节来区分文件类型,但 PDF 和 DOCX 都有一个“0x50”幻数。我该如何处理这种情况?
我正在尝试遍历 Word 文档并从中提取脚注,并参考它们在段落中的位置。
我不知道该怎么做。
我看到为了获得所有脚注,我可以这样做:
FootnotesPart footnotesPart = doc.MainDocumentPart.FootnotesPart;
if (footnotesPart != null)
{
IEnumerable<Footnote> footnotes = footnotesPart.Footnotes.Elements<Footnote>();
foreach (var footnote in footnotes)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何知道每个脚注在段落中的位置。
例如,我想添加一个脚注,并将它放在之前作为脚注的文本内的括号中。
我该怎么做呢?