mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2024-12-21 19:08:24 +01:00
Cleanup, Documented Impose
This commit is contained in:
parent
432342415e
commit
8a63ebe6cf
@ -7,8 +7,7 @@ import { PdfFile } from "@stirling-pdf/shared-operations/src/wrappers/PdfFile"
|
||||
import * as pdfcpuWrapper from "@stirling-pdf/shared-operations/wasm/pdfcpu/pdfcpu-wrapper-browser.js";
|
||||
|
||||
async function impose(params: ImposeParamsType): Promise<PdfFile> {
|
||||
const paramsToUse = { ...params, pdfcpuWrapper: pdfcpuWrapper };
|
||||
return SharedOperations.impose(paramsToUse);
|
||||
return SharedOperations.impose(params, pdfcpuWrapper);
|
||||
}
|
||||
|
||||
const toExport: OperationsType = {
|
||||
|
@ -7,8 +7,7 @@ import { PdfFile } from "@stirling-pdf/shared-operations/src/wrappers/PdfFile"
|
||||
import * as pdfcpuWrapper from "@stirling-pdf/shared-operations/src/wasm/pdfcpu/pdfcpu-wrapper-node.js";
|
||||
|
||||
async function impose(params: ImposeParamsType): Promise<PdfFile> {
|
||||
const paramsToUse = { ...params, pdfcpuWrapper: pdfcpuWrapper };
|
||||
return SharedOperations.impose(paramsToUse);
|
||||
return SharedOperations.impose(params, pdfcpuWrapper);
|
||||
}
|
||||
|
||||
const toExport: OperationsType = {
|
||||
|
12
shared-operations/declarations/Action.d.ts
vendored
12
shared-operations/declarations/Action.d.ts
vendored
@ -4,6 +4,18 @@ export interface Action {
|
||||
actions?: Action[];
|
||||
}
|
||||
|
||||
export interface WaitAction extends Action {
|
||||
values: { id: number }
|
||||
}
|
||||
|
||||
export interface ExtractAction extends Action {
|
||||
values: { indecies: string | number[] }
|
||||
}
|
||||
|
||||
export interface ImposeAction extends Action {
|
||||
values: { nup: number, format: string }
|
||||
}
|
||||
|
||||
export interface WaitAction extends Action {
|
||||
values: { id: number }
|
||||
}
|
@ -5,19 +5,19 @@ import { parsePageIndexSpecification } from './common/pageIndexesUtils'
|
||||
|
||||
export type ExtractPagesParamsType = {
|
||||
file: PdfFile;
|
||||
pageIndexes: string | number[];
|
||||
pageIndecies: string | number[];
|
||||
}
|
||||
export async function extractPages(params: ExtractPagesParamsType): Promise<PdfFile> {
|
||||
const { file, pageIndexes } = params;
|
||||
const { file, pageIndecies: pageIndecies } = params;
|
||||
const pdfLibDocument = await file.pdfLibDocument;
|
||||
|
||||
var indexes = pageIndexes;
|
||||
var indecies = pageIndecies;
|
||||
|
||||
if (!Array.isArray(indexes)) {
|
||||
indexes = parsePageIndexSpecification(indexes, pdfLibDocument.getPageCount());
|
||||
if (!Array.isArray(indecies)) {
|
||||
indecies = parsePageIndexSpecification(indecies, pdfLibDocument.getPageCount());
|
||||
}
|
||||
|
||||
const newFile = await getPages(file, indexes);
|
||||
const newFile = await getPages(file, indecies);
|
||||
newFile.filename += "_extractedPages"
|
||||
return newFile;
|
||||
}
|
||||
|
@ -2,17 +2,16 @@ import { PdfFile, RepresentationType } from "../wrappers/PdfFile";
|
||||
|
||||
export type ImposeParamsType = {
|
||||
file: PdfFile;
|
||||
/** Accepted values are 2, 3, 4, 8, 9, 12, 16 - see: {@link https://pdfcpu.io/generate/nup.html#n-up-value} */
|
||||
nup: number;
|
||||
/** A0-A10, other formats available - see: {@link https://pdfcpu.io/paper.html} */
|
||||
format: string;
|
||||
}
|
||||
export type ImposeParamsBaseType = {
|
||||
file: PdfFile;
|
||||
nup: number;
|
||||
format: string;
|
||||
pdfcpuWrapper: any;
|
||||
}
|
||||
export async function impose(params: ImposeParamsBaseType): Promise<PdfFile> {
|
||||
const uint8Array = await params.pdfcpuWrapper.oneToOne(
|
||||
|
||||
/** PDF-Imposition, PDF-N-Up: Put multiple pages of the input document into a single page of the output document. - see: {@link https://en.wikipedia.org/wiki/N-up} */
|
||||
export async function impose(params: ImposeParamsType, pdfcpuWrapper: any): Promise<PdfFile> {
|
||||
// https://pdfcpu.io/generate/nup.html
|
||||
const uint8Array = await pdfcpuWrapper.oneToOne(
|
||||
[
|
||||
"pdfcpu.wasm",
|
||||
"nup",
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
import { arrangePages, ArrangePagesParamsType } from './functions/arrangePages'
|
||||
import { extractPages, ExtractPagesParamsType } from "./functions/extractPages";
|
||||
import { impose, ImposeParamsBaseType, ImposeParamsType } from "./functions/impose";
|
||||
import { impose, ImposeParamsType } from "./functions/impose";
|
||||
import { mergePDFs, MergeParamsType } from './functions/mergePDFs';
|
||||
import { removeBlankPages, RemoveBlankPagesParamsType } from "./functions/removeBlankPages";
|
||||
import { rotatePages, RotateParamsType } from './functions/rotatePages';
|
||||
@ -34,7 +34,7 @@ export default toExport;
|
||||
export type OperationsParametersBaseType = {
|
||||
arrangePages: ArrangePagesParamsType
|
||||
extractPages: ExtractPagesParamsType;
|
||||
impose: ImposeParamsBaseType;
|
||||
impose: ImposeParamsType;
|
||||
mergePDFs: MergeParamsType;
|
||||
removeBlankPages: RemoveBlankPagesParamsType;
|
||||
rotatePages: RotateParamsType;
|
||||
|
@ -54,7 +54,7 @@ export async function * traverseOperations(operations: Action[], input: PdfFile[
|
||||
break;
|
||||
case "extract":
|
||||
yield* nToN(input, action, async (input) => {
|
||||
const newPdf = await Operations.extractPages({file: input, pageIndexes: action.values["pageIndexes"]});
|
||||
const newPdf = await Operations.extractPages({file: input, pageIndecies: action.values["pageIndecies"]});
|
||||
return newPdf;
|
||||
});
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user