how to clone layout and theme in poi pptx - apache-poi

My goal is to perform sort of a mail merge between some data in csv, a formatted and a themed template pptx. Each row in the csv becomes one slide in the power point with some string find and replace.
I have everything working but I can seem to figure out the code to get theme in the template copied into the destination pptx. Currently using poi 4.1.2
Question is how to ensure the template layout and theme are copied to the destination deck and applied to the new slides.

Related

How to read individual slide from ppt using tika package in python?

I want to compare data in two pptx file and show the differences if any using python.
I have tried with below code, but it is giving all content in single file. No way to segregate data based on slides.
I am able to read all content of pptx using tika but I need slide wise content to compare with other pptx file.
from tika import parser
parsed = parser.from_file('act.pptx')
act =parsed['content']
act=act.strip().replace('\n',' ')
Expected result is store each slide one text file.
Actual result is I am getting all slides data into one text file.

Convert excel file to PDF using Java API

I have an Excel file that has multiple graphic content (a normal excel file).
I am reading this file using POI API in java. I am able to convert the file to PDF table using iText jar.
But, the whole format is not copied into the PDF. (e.g., merged cells come into one column, and other formatting or settings are all gone).
A simple pdf table is created like below.
However when I convert with MS Excel and save as PDF i get the below output which has all the formatting details and looks perfect.
How do i retain the same format as in excel? I have done some googling on this and got some methods like OpenOffice API but all of them convert files on local machine. What if I send my tomcat build to client machine where OpenOffice is not installed ? Need some solution for that. Any help would be useful.

Import pdf into specific worksheet

There are lots of topics about this item, but I wasn't able to find an answer to my question. I want to select a pdf file and import all the text from this file into a specific sheet, let's call it sheet2. Please note this is a new pdf file every day, so it cannot come from a specific location, but the file has to be selected every day.
Any ideas?
If you can waver the limitation of using only VBA, you could use iText (combined with Apache POI). iText is more than capable of extracting the text from a pdf file, and the apache POI library allows you to generate Office documents (such as excel workbooks).

Change the dynamic text color in a same cell of excel sheet using apache poi?

I am using POI library to deal with an Excel file, what I need is
am dealing with an application in that if you modify anything the changes should be shown in red color.
Example: In my application one of the records has
"stackflowisgood" and then I modify it with "stackoverflowisgood",
now the new change is "over".
So there will be a link available to download an Excel file. After downloading, the Excel should be like "stackoverflowisgood" showing the "over" in red color in the same cell. So here my data changes all the time depends on the user change, so I cannot use any fixed index to color it,
this code is applicable for specific string
HSSFRichTextString richString = new HSSFRichTextString("Hello, World!");
richString.applyFont(6, 10, blueFont);
but I need for dynamic string.

Can I create a non-pie chart using Excelwriter and SSRS Integration?

I'm using SoftArtisans ExcelWriter for SSRS (ver 8.6), and am wondering if it is possible to create a (non-pie) chart, e.g. a Stacked Bar chart, that has multiple series?
I can create pie charts easily enough, and that is what the help docs show, but there is no samples for other types of charts for SSRS integration.
The excel template is embedded in the .rdl file, and the spreadsheet is created when the user exports the generated report using OfficeWriter's Excel rendering extension. However the report is run manually by users, so I don't have the ability to execute any code to modify the Excel object before the user sees it.
Can anyone either confirm that only pie charts are possible for SSRS Integration, or provide some insight into how other chart types are possible?
You can create any type of chart that Excel can create, since you are creating your chart in your template file with Excel.
Here is an example of how I setup my template to build a scatter chart (Please ignore the title of the chart, I forgot to rename it from Pie Chart).
I insert a chart into my template, set the type to be scatter, and I placed 4 data markers under my chart, from two data sources.
Next I edit the Chart's series and point them to the data markers in my file. When the template is populated from ExcelWriters SSRS integration, it will replace all the datamarkers with your data, and update the chart's series.
After redeploying the template file to my report server, I can now export the file to Excel for OfficeWriter, and my output is shown below.
Disclaimer: I am a developer on OfficeWriter and work for SoftArtisans the makers of OfficeWriter.
Please let me know if this helps.
You should be able to create any type of chart.
The way that OfficeWriter SSRS integration works (and just the plain Template object for that matter), is that it takes all of your data and inserts it into your data markers. Then it finds references in your workbook that pointed to your data markers, and expands them to point to all of the new inserted data.
So really you can add any type of chart. You just have to make sure that the chart you create points to the data markers as the source data.
A data marker will correspond to a single series or to horizontal axis data. Then as the data is populated, the values in the series are populated.
On our reporting demo page there's a link at the bottom that says "View Report Template" that you can click on to download and Excel file that shows a variety of different charts pointing to data markers.

Resources