private static void convertFilesToZip(ArrayList filePaths, String zipFilePath) throws Exception {
try ( ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFilePath));) {
for (String filePath : filePaths) {
File fileToZip = new File(filePath);
ZipEntry e = new ZipEntry(new File(filePath).getName());
out.putNextEntry(e);
Files.copy(fileToZip.toPath(), out);
}
}
}
In this sub-domain, there are various laboratory for future projects, there startups, future prospectus ideas, etc. If after going a while, it is felt that a particular topic has a large prospectus, then, a seperate subdomain is creating for that topic that topic is hosted there.
Notes: Java module to create Zipped Folder from list of Files
Notes: Java module to convert list of images to PDF document using Apache PDFBox
private static void convertImagesToPdf(ArrayList<String> imagesFilePath, String pdfFilePath) throws Exception {
try ( PDDocument doc = new PDDocument();) {
for (String imageFilePath : imagesFilePath) {
PDImageXObject image = PDImageXObject.createFromFile(imageFilePath, doc);
PDRectangle pageSize = PDRectangle.A4;
int originalWidth = image.getWidth();
int originalHeight = image.getHeight();
float pageWidth = pageSize.getWidth();
float pageHeight = pageSize.getHeight();
float ratio = Math.min(pageWidth / originalWidth, pageHeight / originalHeight);
float scaledWidth = originalWidth * ratio;
float scaledHeight = originalHeight * ratio;
float x = (pageWidth - scaledWidth) / 2;
float y = (pageHeight - scaledHeight) / 2;
PDPage page = new PDPage(pageSize);
doc.addPage(page);
try ( PDPageContentStream contents = new PDPageContentStream(doc, page)) {
contents.drawImage(image, x, y, scaledWidth, scaledHeight);
}
}
doc.save(pdfFilePath);
}
}
Notes: Java module to merge PDF Documents (with or without password)
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.NavigableMap;
import java.util.TreeMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageDestination;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageFitWidthDestination;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
public static void mergePdfFiles(String destinationFilePath, ArrayList<String> sourceFilesPath) {
try {
PDFMergerUtility pdfMerger = new PDFMergerUtility();
pdfMerger.setDestinationFileName(destinationFilePath);
for (String sourceFile : sourceFilesPath) {
System.out.println(sourceFile);
pdfMerger.addSource(sourceFile);
}
pdfMerger.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void mergePdfFiles(String destinationFilePath, ArrayList<String> sourceFilesPath,
String password) {
Path tmpDir = null;
try {
tmpDir = Files.createTempDirectory("aaaa");
ArrayList<String> tmpList = new ArrayList();
for (String filePath : sourceFilesPath) {
File file = new File(filePath);
try ( PDDocument doc = PDDocument.load(file, password)) {
doc.setAllSecurityToBeRemoved(true);
doc.save(new File(tmpDir.toString() + "/" + file.getName()));
tmpList.add(tmpDir.toString() + "/" + file.getName());
}
}
mergePdfFiles(destinationFilePath, tmpList);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
FileUtils.deleteDirectory(new File(tmpDir.toString()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Notes: Java module to convert PDF document to Image_Files
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Arrays;
import javax.imageio.ImageIO;
import org.apache.commons.lang3.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
private static void convertPdfToImage(String pdfFilePath, String imageFolderPath) throws Exception {
File file = new File(pdfFilePath);
String fileExtension = ".jpg";
int dpi=300;
try (PDDocument doc = PDDocument.load(file)) {
PDFRenderer pdfRenderer = new PDFRenderer(doc);
for (int i = 0; i < doc.getPages().getCount(); i++) {
BufferedImage img = pdfRenderer.renderImageWithDPI(i, dpi, ImageType.RGB);
File outputFile = new File(imageFolderPath + StringUtils.removeEnd(file.getName(),".pdf") + "_pgNo" + i + fileExtension);
outputFile.delete();
System.out.println(outputFile.getAbsolutePath());
System.out.println(Arrays.toString(ImageIO.getWriterFormatNames()));
boolean flg=ImageIO.write(img, "jpg", outputFile);
System.out.println(flg);
}
}
}
C++ code to connect Postgres Database
/* At first install libpqxx in linux*/
#include <pqxx/pqxx>
using namespace std;
using namespace pqxx;
class GetDbConn
{
public:
static connection *getPostgresDbConnection(const std::string& conStr)
{
pqxx::connection *c=new connection(conStr);
return c;
}
};
----------------
/*Code to call this connection is as follows
#include <pqxx/pqxx>
#include "getDbConn.h"
using namespace std;
using namespace pqxx;
class MyDb
{
public:
static connection * getTradingNseConnection()
{
char const *conStr="dbname = <database_name> user = <user_name> password = <db_password> hostaddr = 127.0.0.1 port = 5432";
pqxx::connection *con=GetDbConn::getPostgresDbConnection(conStr);
if ((*con).is_open())
{
cout << "Opened database successfully: " << (*con).dbname() << endl;
return con;
}
else
{
cout << "Can't open database" << endl;
return NULL;
}
}
};
Regarding site Free Browser Tool (https://free-browser-tools.mohitkrgupta.dev) (discussion with google search AI)
Various discussions with Google Search AI regarding site Free Browser Tool are as below: site free-browser-tools.mohitkrgupta.dev what doe...
-
private static void convertImagesToPdf(ArrayList<String> imagesFilePath, String pdfFilePath) throws Exception { try ( PDDocum...
-
You said: uninstall postgres completely from ubuntu ChatGPT said: ChatGPT To completely uninstall PostgreSQL from your Ubuntu system, includ...
-
Query: C mu_json JSON_checker YAJL LibU json-c json-parser jsonsl WJElement M's JSON parser cJSON Jansson jsmn parson ujson4c frozen mic...