如何在XSL-FO文件中添加新页面

时间:2012-08-13 12:43:21

标签: xsl-fo

现在我正在使用XSLT在XSL-FO中创建报告。我的XSLT文件中有不同的不同模板,用于报告中的不同部分。在生成报告时,我在第二页的半页和另一半上获得特定部分;所以我们决定将整个部分移到一个新的页面。现在我真的很困惑我应该在XSLT中添加到模板的标签,以便它可以在新页面上。我是XSLT的新手,需要帮助。

2 个答案:

答案 0 :(得分:1)

如果您可以支持HTML报告,请使用XLST创建HTML docuent,然后使用CSS管理分页符

<style type="text/css">
h1{
page-break-before: always;
}
</style>

由于字体大小等原因,尝试“猜测”将分页符放在HTML中的位置是一项挑战。如果您需要精美的打印材料,通常最好使用适合打印机的格式(例如PDF)。但是,HTML + CSS可以为您提供快速而肮脏的解决方案。

修改

您的评论提及XSL-FO。也许break-before属性可以帮助

答案 1 :(得分:1)

如果您有很多小部分,可以在fo:block周围放置一个keep-together.within-page并在fo:block上使用- (void)viewDidLoad { [super viewDidLoad]; PFQuery *query = [PFQuery queryWithClassName:@"Citta"]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (!error) { NSLog(@"QUERY -----> :%@", objects); for(NSMutableDictionary *note1 in objects) { float realLatitude1 = [[note1 objectForKey:@"Lat"] doubleValue]; float realLongitude1 = [[note1 objectForKey:@"Lon"] doubleValue]; NSLog(@"(PARSE) Lat: %f", realLatitude1); NSLog(@"(PARSE) Lon: %f", realLongitude1); MKPointAnnotation *displayMap = [[MKPointAnnotation alloc] init]; CLLocationCoordinate2D theCoordinate; theCoordinate.latitude = realLatitude1; theCoordinate.longitude = realLongitude1; displayMap.coordinate = theCoordinate; displayMap.title = [note1 objectForKey:@"Nome_citta"]; displayMap.subtitle = [note1 objectForKey:@"Nome_regione"]; //displayMap.icon = [note1 objectForKey:@"icona"]; [self.mapView setDelegate:self]; [self.mapView addAnnotation:displayMap]; } } }]; http://www.w3.org/TR/xsl11/#keep-together),以便这些部分保持在一起尽可能多。