CSS3分页媒体模式:有什么方法可以防止@top_right pdfreactor徽标被插入



尝试使用分页媒体模式,例如样式表包含:

<html><header>...<style type="text/css"> ...
body { counter-reset: chapter 1;
counter-reset: section 1;
counter-reset: page 1;
margin-left:  +2%;
margin-right: -2%;
font-size: 10pt;
}
@page { size : a4 ; 
margin: 8%;
@top-left   { content: "abbrv"; ; font-size: 8pt;}
@top-center { content: "Chapter " counter(chapter) " : " counter(section); font-size: 8pt;}
@top-right  { content: "$date : $initials"; ; font-size: 8pt; }
@bottom-center { content: "Page " counter(page) " / " counter(pages); font-size: 8pt; }    
}
div.chapter {
break-before : always;
counter-increment: chapter;
counter-reset:     section;
}
section.section {
counter-increment: section;
}
</style></header><body>
<div id="chap1" class="chapter"><h1>Chapter 1</h1></div>
...</body></html>

请注意,上面不包含对嵌入图像的任何引用,但当运行PDFreactor时,生成的PDF在@top right内容中,在我的"$date:$initials"内容
我想这是"pdfreactor.svg"?

那么,是不是不可能删除标志?

正在移动pdfreactor下名为pdfreactor.svg的所有文件/安装目录到其他位置没有帮助。

我正在使用免费的个人非商业许可证我通过电子邮件从Real Objects获得,而不是评估许可证。

个人非商业用户不允许是否禁用在页眉块中包含此徽标?

是否有人成功禁用了徽标图像的包含?如果是,如何禁用?

还有,有人知道为什么这一章&节计数器在上述文档的页眉中总是显示为0?

我使用的Java是:

import java.io.File;
import java.io.FileOutputStream;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.realobjects.pdfreactor.Configuration;
import com.realobjects.pdfreactor.PDFreactor;
import com.realobjects.pdfreactor.Result;
import com.realobjects.pdfreactor.Log;
import com.realobjects.pdfreactor.Record;
import com.realobjects.pdfreactor.events.DefaultHandler;
class PDFReactor
{
public static void main( String args[] )
{ File html_in = null , pdf_outf=null;
String html_in_url = null;
FileOutputStream pdf_out=null;
boolean expect_in=false , expect_out=false;
Logger logger = null;
try {
logger = Logger.getAnonymousLogger();
logger.setUseParentHandlers(false);
logger.setLevel(Level.INFO);
logger.addHandler(new DefaultHandler());
}catch(Exception e)
{ System.err.println("Failed to get logger: " + e.toString());
}
for ( String arg : args )
{ switch(arg)
{ case "-f" :
expect_in=true;
break;
case "-o" :
expect_out=true;
break;
default:
if(expect_in)
{ expect_in = false;
try {
html_in = new File( arg );
html_in_url = html_in.toURI().toURL().toString();
} catch (Exception e)
{ System.err.println("new File ( " + html_in + ") failed : "+e.toString());
}            
}else
if(expect_out)
{ expect_out = false;
try {
pdf_outf = new File( arg );
pdf_out = new FileOutputStream( pdf_outf );
} catch (Exception e)
{ System.err.println("new File ( " + pdf_out + ") failed : "+e.toString());
}            
}
}      
}
if( (html_in != null) && (pdf_out != null) && (logger != null))
{
try
{ PDFreactor r = new PDFreactor();
if( r != null )
{ Configuration configuration = new Configuration();
configuration.setLicenseKey(
my_license_key_xml
);
configuration.setDocument(html_in_url);
configuration.setLogger(logger);
List<Configuration.ViewerPreferences> prefls = configuration.getViewerPreferences();
int n=prefls.size() + 1, i=0;
Configuration.ViewerPreferences[] prefs = new Configuration.ViewerPreferences[ n ];
for( Configuration.ViewerPreferences p : prefls )
{ prefs[i] = p;
i+=1;
}
prefs[i]= Configuration.ViewerPreferences.PAGE_MODE_USE_OUTLINES;
configuration.setViewerPreferences( prefs );
configuration.setAddLinks(true);
configuration.setAddBookmarks(true);
Result result = r.convert(configuration, pdf_out);        
pdf_out.close();
if( result != null )
{ Log l = result.getLog();
if( l != null)
{ for( Record rec : l.getRecords() )
System.err.println(rec.getMessage());
}else
{  System.out.println("No log records produced.");
}
}
}else
{ System.err.println("new PDFreactor failed.");
}
}catch( Exception e)
{ System.err.println("PDFreactor conversion failed: "+e.toString());
}
}else
{ System.err.println("Expected -f <html input file name> -o <pdf output file name> arguments.");
}
}
}

使用"免费个人许可证"使用PDFreactor创建的所有PDF都包含此PDFreactors徽标。这是您在申请"免费个人许可证"密钥和使用软件时接受的PDFreactor软件许可协议中的"识别PDFreactors的通知"。根据协议,这些通知(如徽标)不得以任何方式删除或篡改。如果你在没有任何通知的情况下需要PDF,你必须购买并使用PDFreactor的商业许可证。

关于计数器问题:您在错误的范围内定义计数器。要在页边空白框中使用它们,您必须在"@page"规则中初始化计数器,而不是像这样在"body"元素中初始化:

@page:first {
counter-reset: chapter 0 section 0;
}

此外,多个"计数器重置"属性会覆盖以前的属性,因此如上所示,多个计数器只使用一个"计数器复位"属性。

最新更新